potato解析

环境设置

攻击机:kali(192.168.246.128)
靶机:potato(192.168.246.137)

使用工具&指令:

nmap (端口扫描)
hydra (服务端密码爆破)
sreachsploit (漏洞检索)
ssh (远程登录服务)
find (寻找文件)
scp (linux之间远程传输文件)

具体过程

国际惯例

arp-scan -l //发现同网段设备
nmap -A -p- “ip地址” //扫描指定ip开放的端口 并套用默认脚本

1
扫描发现该ip开放了80端口与7120端口 其中7120端口对应ssh服务
我们使用firefox访问该ip
2
没有发现什么特殊的东西 f12也没有隐藏注释
只能将我们的注意转到ssh服务中
但ssh需要账号与密码 而我们目前没有
按照该靶机名称与网页中的土豆图片 我们推测账户名为potato 进行一次密码爆破来测试

hydra -l “账号名” -P “密码字典文件” -V -t 4 服务://ip地址:端口
// 密码字典位于/usr/share/wordlists/rockyou.txt.gz 中 请自行解压
gzip -d /usr/share/wordlists/rockyou.txt.gz		#-d 将压缩文件解压
// -V 显示具体过程
// -t 1-64 决定线程 数字越大爆破速度越快 但占用更大

3
4
结果出来了 账号 potato 的密码为 letmein
我们赶紧来登录一下吧

ssh 用户名@ip地址 -p 端口 //由于该端口不是默认的22 所以需要额外注释 

5
进入后发现/root文件夹中有我们想要的文件 但当前权限不够
于是需要提权
我们使用sreachsploit 来搜索该版本ubuntu的提权漏洞

sreachsploit “搜索关键词”

6
有了 文件名是37292.c
不知道该文件在哪里 我们使用find命令寻找该文件

find [路径] [匹配条件]
参数说明:
路径 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
匹配条件 中可使用的选项有二三十个之多,以下列出最常用的部份:
-name pattern:按文件名查找,支持使用通配符 * 和 ?。
-type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
-size [+-]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
-mtime days:按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。
-user username:按文件所有者查找。
-group groupname:按文件所属组查找。

随后使用scp命令将文件传输到靶机中

scp [可选参数] [文件源] [传输目标] 
// -p 指定端口
// 传输目标格式为 用户名@ip:/目标文件夹

7
随后执行提权漏洞

gcc 37292.c -o exp  //对刚刚下载的提权脚本进行编译
chmod +x exp //给提权脚本赋予执行权限 
./exp //运行提权脚本,运行后即可提权至root

8
阅读/root下的/proof.txt
明显是一串md5加密后的产物 我们拿去解密网站解密 获得flag
9

总结

比较小体量的靶机 主要集中在一些标准的密码爆破 漏洞提权 过程中
那么我们下次见!