渗出笔记1

打印 上一主题 下一主题

主题 1831|帖子 1831|积分 5493

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
第一天
工具:cs cobalt strike 4.9  / msf kali (自带 Ubuntu)
cs cobalt strike 4.9:server-client

server摆设在云服务器上,client分别在各地,与server相毗连;毗连上后就可以共享上线主机。
对于server主要实行主件是teamserver和TeamServerImage,他们是用Java写的,所以要jdk的依赖,Windows和Ubuntu都必要下载安装,用命令java -version查看是否安装成功

运行server
  1. root@ubuntu:~/cs4.9/Server# ./teamserver 192.168.59.147 oupeng  (IP 密码)
  2. 反弹性木马:反向,受害者主动连接入侵者,内网往外网走,所以防火墙对此管理没有严格;如果受害者不知道入侵者的ip地址,那么受害者是连接不到入侵者的。(这就是为什么用反弹性木马和为什么要写ip)
复制代码
打开client,监听木马:创建一个监听器(设置不常用的端口),方便你知道受害者何时毗连的你
案例一:钓鱼邮件

  1. 假设我们是一个红队入侵者,我们需要去攻击某个学校 ,但学校的安全做的不错,没有明显的漏洞,现有的系统接入0信任,需要一个老师或者学生账号
  2. 1、用钓鱼邮件并且通过免杀木马让学生或老师中招
  3. 2、第一种(等待):利用远程控制木马的键盘监听器去监听等待,如果他输入账号,那么就能得到他的账号和密码 ———— 效率太低
  4.    第二种(主动出击):让他主动写入自己的学号或教师账号以及密码
  5. 3、要一个钓鱼网站 ———— 学校的官网(直接将源码另存为)
  6. 4、关键问题:如何他去走进你的钓鱼网站
  7. 5、现已将代码部署到自己的网站,但没有学校域名的权限(没有办法让域名解析到自己的服务器上)
  8. 6、解决方法:仿造一个相似域名,可取性为0    edu.cn申请不到
  9.     https://www.cdcas-edu.com  成功率较低
  10. 8、现已让对方中木马,所以要做出hosts ———— dns劫持 ———— 劫持dns解析,让其解析到自己的服务器上
  11. 9、dns解析流程 ———— 才能知道hosts为什么可以dns劫持
  12. hosts的Windows路径:C:\Windows\System32\drivers\etc\hosts
  13. 10、问题:在自己的电脑或者linux服务器上部署一个web应用需要什么组件 ———— web中间件  
  14. web中间件:nginx (apache toimcat weblogic)
  15. 12、部署nginx服务,windows可以用小皮面板;要配置虚拟主机才可以让域名解析到本地
  16. 虚拟主机是否能够匹配到这个,需要看虚拟主机的配置项
  17. 位置:D:\phpstudy_pro\Extensions\Nginx1.15.11\conf\vhosts\0localhost_80.conf
  18. 用vscode打开配置(复制粘贴后修改server_name、root),完成后重启小皮的nginx
  19. 当别人访问登录后,服务器上就能获取到他的账号和密码,在D:\phpstudy_pro\WWW\服务器名\account.txt中
  20. 13、问题
  21. 1. dns解析过程
  22. (1)查询本地 ———— 查询缓存
  23. (2)本地缓存没有,就到hosts查看是否有域名和ip的对应关系 如果有则返回
  24. (3)都没有,则查本地路由 ————> 查询根域服务器 ————> dns ————> 13个根域服务器地址
  25. (4)查找13台根域服务器
  26. (5)寻找com顶级域
  27.    寻找百度的dns服务器
  28.    最终返回baidu.com的A的对应服务器ip
  29.    迭代查询
  30. Windows和Linux下的dns解析命令:
  31. linux:dig  nslookup
  32. 例:xyl@ubuntu:~$ dig +trace www.baidu.com
  33.     xyl@ubuntu:~$ nslookup www.baidu.com
  34. Windows:nslookup ———— nslookup www.baidu.com
  35. 2. web中间件的部署和搭建(linux)
  36. 搭建LNMP和WNMP
  37. LNMP: linux nginx mysql php
  38. WNMP: Windows nginx(小皮面板) mysql php
  39. 也可以docker搭建(过程没那么繁琐)
  40. https://command-not-found.com/ 可以寻找安装包的命令
  41. 3 如何配置web中间件的虚拟主机
  42. 总结4步:1.中c2(免杀)  2.劫持dns  3.让他登录钓鱼网站 4.拿下他的账号密码
复制代码
Ubuntu安装nginx、mysql以及php的摆设

  1. nginx:
  2. 1、编译安装
  3. # 复制22的链接地址(复制源码),用wget下载
  4. wget https://nginx.org/download/nginx-1.22.1.tar.gz
  5. tar -zxvf nginx-1.22.1.tar.gz
  6. mv nginx-1.22.1 nginx 改名方便使用
  7. cd nginx
  8. 2、安装依赖包
  9. apt-get install gcc
  10. apt-get install libpcre3 libpcre3-dev
  11. apt-get install zlib1g zlib1g-dev
  12. apt-get install openssl
  13. apt-get install libssl-dev
  14. 3、编译nginx
  15. # 执行命令
  16. ./configure
  17. # 执行make命令
  18. make
  19. # 执行make install命令
  20. make install
  21. 4、启动nginx
  22. cd /usr/local/nginx/sbin
  23. ./nginx   启动nginx
  24. ps -ef |grep nginx  查看进程
  25. http://192.168.59.147/ 访问网站,查看是否成功,如下图一
  26. php:
  27. 1、添加数据源
  28. # 执行三条命令,添加php的源地址,更新,安装
  29. sudo apt-get install software-properties-common
  30. sudo add-apt-repository -y ppa:ondrej/php
  31. sudo apt-get update
  32. apt list |grep php   查看是否有安装包
  33. 2、安装php
  34. #​ nginx使用php的话要用到php7.3-fpm,所以要安装php-fpm
  35. sudo apt-get install php7.3 php7.3-mysql php7.3-fpm php7.3-curl php7.3-xml php7.3-gd php7.3-mbstring php-memcached php7.3-zip
  36. # 默认是最高版本
  37. pdate-alternatives --config php    修改版本
  38. php -v   查看当前版本
  39. 3、配置php-fpm
  40. find / -name www.conf   用find查找文件
  41. vim /etc/php/7.3/fpm/pool.d/www.conf
  42. # 把监听端口改掉
  43. 将;listen = /run/php/php7.3-fpm.sock 改为listen = 127.0.0.1:9000
  44. service php7.3-fpm restart   重启服务
  45. 9.启动php-fpm
  46. service php7.3-fpm restart
  47. lsof -i:9000     查看9000端口是否开放  (netstat -lnt | grep 9000)
  48. 10、nginx下要有配置文件才能和php-fpm相连接
  49. cd /usr/local/nginx/conf/
  50. vim nginx.conf
  51. 将以下内容注释取消,且修改结果如下:
  52.         location ~ \.php$ {
  53.             root           html;
  54.             fastcgi_pass   127.0.0.1:9000;
  55.             fastcgi_index  index.php;
  56.             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  57.             include        fastcgi_params;
  58.         }
  59.         # deny access to .htaccess files, if Apache's document root
  60.         # concurs with nginx's one
  61.         #
  62.         location ~ /\.ht {
  63.             deny  all;
  64.         }
  65. # 保存退出
  66. # 重启nginx
  67. root@ubuntu:/usr/local/nginx# cd sbin/
  68. root@ubuntu:/usr/local/nginx/sbin# ./nginx -s reload
  69. # 检测配置是否成功
  70. root@ubuntu:/usr/local/nginx# cd html/
  71. root@ubuntu:/usr/local/nginx/html# vim web.php
  72. 内容如下:
  73. <?php phpinfo(); ?>
  74. http://192.168.59.147/web.php   访问该网站看是否配置成功,结果如图二
  75. mysql:
  76. # 安装mysql
  77. apt-get install mysql-server
  78. # 连接mysql
  79. mysql -uroot -p123
  80. 这样有两个问题:1、mysql没有密码限制;2、mysql8.0和php7.3里的mysqli-connect不兼容
  81. mysql -uroot -proot123//..
  82. # 修改密码
  83. mysql> alter user 'root'@'localhost' identified mysql_native_password by '123';
  84. vscode远程登陆Ubuntu,修改靶场文件中的mysql连接密码,与Ubuntu中的一致,
  85. 访问网站http://192.168.59.147/sqlilabs,得图三
复制代码
nginx成功结果(图一):

nginx和php配置成功结果(图二):

图三:


第二天
名词解释:
名词解释
1.POC、EXP、Payload与Shellcode

  1. POC:全称‘Proof of Concept',中文’概念验证’,常指一段漏洞证明的代码。
  2. EXP:全称'Exploit’,中文‘利用',指利用系统漏洞进行攻击的动作。
  3. Payload:中文‘有效载荷’,指成功exploit之后,真正在目标系统执行的代码或指令。
  4. Shellcode:简单翻译'shell代码',是Payload的一种,由于其建立正向/反向shell而得名。
复制代码
poc就是用来做毛病测试,不会进一步利用;比如实行某个命令来证实这个毛病是可以实行的
exp相对于poc就会进一步利用(毛病利用),比如写入webshell网站后门等http://192.168.59.147/web.php
(<? php eval($_POST['123']); ?>)由于比力简单,被称为“一句话木马”
(网站后门起到控制整个网站的作用)
payload:比如webshell是一个脚本,那么他的源码就是payload(比如上面一句话木马的内容就是payload)
shellcode是payload的一种,更多出现在远程控制木马内里(机器码 python/c),也就是远程控制木马里的内容
:将web.php文件写成system($_GET['c']);实行命令函数——实行get传参——是一个命令实行毛病
(php中system是实行外部步伐,并且显示输出)
现在传一个id,就是一个poc测试,测试发现内里是有毛病的,就开始考虑其他三个
如果在网址上实行echo 11111 > webshell.php,结果显示无法实行,由于nginx中起作用的worker权限是nobody,而html文件的权限是root,所以实行不成功,但一般来说nginx、php-fpm和html文件的所属者都会同一,修改权限后则能成功(chown -R  /  nginx.conf)

错误:1、权限题目;2、可查看日记logs

后门引发题目:
        1.当你水平越来越高的时候,你的后门太多了不好管理
        2.后门的操纵内容比力繁杂,是否可以有工作举行快捷管理
        方法:三款工具
webshell利用与管理工具:
(1)蚁剑 —— 师承中国菜刀
webshell代理功能有刷新、删除、修改、上传、下载等
(2)冰蝎 —— rebeyond 他独创webshell加密机制——webshell —— 用Java写的要jdk
冰蝎的传输协议是加密的
工作流程:

本地就是冰蝎客户端,远程就是你要把webshell传递过去的服务器

  • 本地对Payload举行加密,然后通过POST请求发送给远程服务端;
  • 服务端收到Payload密文后,利用解密算法举行解密;
  • 服务端实行解密后的Payload,并获取实行结果;
  • 服务端对Payload实行结果举行加密,然后返回给本地客户端;
  • 客户端收到响应密文后,利用解密算法解密,得到响应内容明文。
  1. 在冰蝎的协议传输中用AES生成服务器default_aes(路径:/bx46/server/default_aes)
  2. 其下有三个文件
  3. shell.aspx、(shell.jsp、shell.php)重点看这两个文件  这三个文件都在服务端处理的
  4. shell.php:先进行base64加密,再解密   
  5. 客户端将想要执行的命令加密发送给服务器,假设服务器是shell.php,服务器通过file_get_contents获取到数据进行解密,用eval执行命令,执行完后的命令加密推到客户端,客户端执行解密
  6. 下一步将php文件发到nginx的html下
复制代码
冰蝎最大的特点是将流量全部加密
(3)哥斯拉——冰蝎类似
  1. 2.几点注意
  2. POC是用来证明漏洞存在的,EXP是用来利用漏洞的,两者通常不是一类,或者说,POC通常是无害的,Exp通常是有害的,有了POC,才有EXP。
  3. Payload有很多种,它可以是Shellcode,也可以直接是一段系统命令。同一个Payload可以用于多个漏洞,但每个漏洞都有其自己的
  4. EXP,也就是说不存在通用的EXP。
  5. Shellcode也有很多种,包括正向的,反向的,甚至meterpreter。
  6. Shellcode与Shellshcok不是一个,Shellshock特指14年发现的Shellshock漏洞。
复制代码
免杀马:(蚁剑)

  1. demo1.py
  2. (1)将机器码拿下来,做base64转码
  3. (2)在内存空间中申请内存
  4. (3)将shellcode放到内存中去
  5. (4)创建一个线程,再直接把shellcode执行起来
  6. 免杀过程:
  7. 1. 先用cs4.9(python)生成一个机器码,然后将机器码进行base64编码
  8. # shellcode是从python中来的
  9. # 如果shellcode直接写进来,也就是硬编码进来,那么只有一个结局,就是被杀
  10. # 所以要想办法让他不出现特征码 ———— 方法:用服务器直接下载
  11. 2. 将base64编码放在服务器一个txt文件中去
  12. # 在服务器的test.txt文件中,将恶意shellcode代码进行了base64编码,试图躲避杀软的查杀
  13. # 代码中有太多特征值,过不了免杀 ———— 方法:利用python发序列化模块来执行
  14. 3. 将执行完A类序列化和base64encode的结果,进行一个ase加密 加密模式cbc 加密网站http://tool.chacuo.net/cryptaes
  15. # python序列化后的内容,经过反序列化的操作,里面的代码会自动执行
  16. # 对A类进行了序列化  pickle是python序列化模块 dumps 序列化 loads反序列化
  17. # 当反序列化时exec命令执行函数就会执行shellcode,也会把恶意代码执行起来
  18. # 序列化就是把数据“打包”成可以保存或发送的格式,反序列化就是“拆包”还原成原来的数据
  19. # 序列化模块有pickle、json、marshal、yaml
  20. 总结:
  21. # 第一:将硬编码修改为服务器下载
  22. # 第二:将直接shellcode的恶意代码,改为变量值
  23. # 第三:将shellcode变量值放入A类中,然后又进行序列化操作
  24. # 第四:将序列化后的值 进行base64编码
  25. 以上四步对于360、火绒、Windows defeider是无法免杀的
复制代码
  1. # A类序列化以后的原始状态 dumps 序列化 loads 反序列化
  2. demo2
  3. 在执行demo1后得到了base64编码后的值
  4. 然后我们利用ASE的CBC模式对该值进行对称加密,加密输出结果
  5. # 在一定时间内,因为杀毒软件没有密钥就无法解密该结果,那么就不知道这个是什么东西,那么就将它放行了
  6. # AES加密要指定模式、秘钥、偏移量
  7. 将执行完A类序列化和base64encode的结果,进行一个ase加密 加密模式cbc 加密网站http://tool.chacuo.net/cryptaes
  8. # 加密的秘钥ysIx0oKueJV15dkA4P3WvDjnq9giB62=  加密偏移量 jbMNXRf954m0WUzQ aes加密完 会自动出书base64编码的内容
  9. # A类进行序列化 ----- >base64encode编码·
  10. -----
  11. 正向过程:
  12. A类进行序列化 -----> base64encode编码 ------> AES加密 ----> base64编码
  13. 逆向过程:
  14. base64decode解码 -----> AES解码 -----> base64解码 -----> 反序列化
  15. 代码中:base64.b64decode --- decrypt --- base64.b64decode --- json.loads
  16. # json是因为别名:import pickle as json
  17. 操作:
  18. 1、在本地启动一个简单的 HTTP 服务器
  19. python3 -m http.server 9999
  20. # 解释器 -m:指定模块 http.server:Python库中的一个模块,用于快速启动一个简单的HTTP服务器 端口号
  21. 2、执行代码
  22. 为了加大防范,可以将pick进行序列化、base64编码,然后利用python切片,将木马打乱,让木马无法执行;将打乱后的木马放入gif文件(图片)中,记得加入文件头gif89a,放在服务器中
  23. 还原:1. 下载gif图片,读取木马利用代码  2 还原木马 3. 解码
复制代码
  1. demo3
  2. 把demo2更进一步包装
  3. 继续将其做变量,放到自定义base64编码
  4. demo1
  5. 1、从服务器下载数据
  6. 2、自定义base64解码,还原成原来的代码,但只是序列化、反序列化得到的值放在那
  7. 3、要把该值进行序列化、反序列化反向递进
复制代码

信息网络、信息泄露

弱口令:

弱口令是指那些强度不够,容易被猜解的,类似于123、abc这样的口令暗码
  1. 如何利用信息泄露挖掘一个edu src漏洞
  2. 1、首先找学校的官网,在学校众多网站中找到一个相对防御较弱的分站(一个主站,多个分站)
  3. 怎么找分站? ———— 比如:EZ工具
  4. 突破0信任入口,需要大量的教工号和学号 ———— 百度、谷歌、学校网站奖学金等信息找学号
  5. site:peihua.cn intext;"学工号"
  6. 一般是找默认密码固定的
  7. 找到信息后,用抓取软件(burpsuite)暴力破解,破解哪个字段就打上$符,在payloads导入信息文件,intruder爆破(548、539等:失败)
  8. 中卫漏洞 信息泄露+弱口令破解
复制代码
  1. 攻击工具:
  2. 肉鸡
  3. # 所谓“肉鸡”是一种很形象的比喻,比喻那些可以被攻击者控制的电脑、手机、服务器或者其他摄像头、路由器等智能设备,用于发动网络攻击。
  4. # 例如在2016年美国东海岸断网事件中,黑客组织控制了大量的联网摄像头用于发动网络攻击,这些摄像头则可被称为“肉鸡”。
  5. 僵尸网络
  6. # 僵尸网络Botnet是指采用一种或多种传播手段,将大量主机感染病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。
  7. # 僵尸网络是一个非常形象的比喻,众多的计算机在不知不觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被攻击者执行各类恶意活动(DDOS、垃圾邮件等)利用的一种基础设施。
  8. 木马
  9. # 就是那些表面上伪装成了正常的程序,但是当这些程序运行时,就会获取系统的整个控制权限。
  10. # 有很多黑客就是热衷使用木马程序来控制别人的电脑,比如灰鸽子、GhOst、PcShare等等。
  11. 网页木马
  12. # 表面上伪装成普通的网页或是将恶意代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马服务端植入到访问者的电脑上来自动执行将受影响的客户电脑变成肉鸡或纳入僵尸网络。
  13. Rootkit
  14. # Rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。
  15. # 通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过对方系统存在的安全漏洞获得系统的root或system权限。然后,攻击者就会在对方的系统中安装Rootkit,以达到自己长久控制对方的目的,Rootkit功能上与木马和后门很类似,但远比它们要隐蔽。
  16. 蠕虫病毒
  17. # 它是一类相对独立的恶意代码,利用了联网系统的开放性特点,通过可远程利用的漏洞自主地进行传播,受到控制终端会变成攻击的发起方,尝试感染更多的系统。
  18. # 蠕虫病毒的主要特性有:自我复制能力、很强的传播性、潜伏性、特定的触发性、很大的破坏性。I
  19. 震网病毒
  20. 又名Stuxnet病毒,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫“病毒,比如核电站,水坝,国家电网。
  21. 作为世界上首个网络“超级破坏性武器”,Stuxnet的计算机病毒已经感染了全球超过45000个网络,其目标伊朗的铀浓缩设备遭到的攻击
  22. 最为严重。
  23. 勒索病毒
  24. # 主要以邮件、程序木马、网页挂马的形式进行传播。该病毒性质恶劣、危害极大,一旦感染将给用户带来无法估量的损失。这种病毒利用各种加密算法对文件进行加密,被感染者一般无法解密,必须拿到解密的私钥才有可能破解。
  25. 挖矿木马
  26. # 一种将PC、移动设备甚至服务器变为矿机的木马,通常由挖矿团伙植入,用于挖掘比特币从而赚取利益。
  27. 攻击载荷
  28. # 攻击载荷(Payload)是系统被攻陷后执行的多阶段恶意代码。
  29. # 通常攻击载荷附加于漏洞攻击模块之上,随漏洞攻击一起分发,并可能通过网络获取更多的组件。
  30. 嗅探器(Sniffer)
  31. #就是能够捕获网络报文的设备或程序。嗅探器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。
  32. 恶意软件
  33. # 被设计来达到非授权控制计算机或窃取计算机数据等多种恶意行为的程序。
  34. 间谍软件
  35. # 一种能够在用户不知情的情况下,在其电脑、手机上安装后门,具备收集用户信息、监听、偷拍等功能的软件。
  36. 后门
  37. # 这是一种形象的比喻,入侵者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置,用于访问、查看或者控制这台主机。
  38. # 这些改动表面上是很难被察觉的,就好象是入侵者偷偷的配了一把主人房间的钥匙,或者在不起眼处修了一条按到,可以方便自身随意进出。
  39. # 通常大多数木马程序都可以被入侵者用于创建后门(BackDoor)。
  40. 弱口令
  41. # 指那些强度不够,容易被猜解的,类似123,abc这样的口令(密码)。
  42. 漏洞
  43. # 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。
  44. # 奇安信集团董事长齐向东在《漏洞》一书中指出,软件的缺陷是漏洞的一个主要来源,缺陷是天生的,漏洞是不可避免的。
  45. 远程命令执行漏洞
  46. # 由于系统设计实现上存在的漏洞,攻击者可能通过发送特定的请求或数据导致在受影响的系统上执行攻击者指定的任意命令。
  47. Oday漏洞
  48. # Oday漏洞最早的破解是专门针对软件的,叫做WAREZ,后来才发展到游戏,音乐,影视等其他内容的。
  49. # Oday中的0表示Zero,早期的0day表示在软件发行后的24小时内就出现破解版本。
  50. # 在网络攻防的语境下,0day漏洞指那些已经被攻击者发现学握并开始利用,但还没有被包括受影响软件厂商在内的公众所知的漏洞,这类漏洞对攻击者来说有完全的信息优势,由于没有漏洞的对应的补丁或临时解决方案,防守方不知道如何防御,攻击者可以达成最大可能的威胁。
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表