การใช้ Netcat แบบดั้งเดิมบน Ubuntu

Netcat ที่ติดตั้งมากับ Ubuntu นั้นเป็น OpenBSD เวอร์ชั่น ซึ่งมีการตัดบางฟังก์ชั่นออกไป เช่น -e ที่ใช้ในการรันโปรแกรมหลังจากการเชื่อมต่อ ฟังก์ชั่นนี้ใช้ในการทำพวก Backdoor ทั้ง ฺbind shell และ Reverse shell ตัวอย่าง Help ของ Netcat OpenBSD เวอร์ชั่น
~ % nc -h
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
This is nc from the netcat-openbsd package. An alternative nc is available
in the netcat-traditional package.
usage: nc [-46bCDdhjklnrStUuvZz] [-I length] [-i interval] [-O length]
          [-P proxy_username] [-p source_port] [-q seconds] [-s source]
          [-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
          [-x proxy_address[:port]] [destination] [port]
        Command Summary:
                -4                Use IPv4
                -6                Use IPv6
                -b                Allow broadcast
                -C                Send CRLF as line-ending
                -D                Enable the debug socket option
                -d                Detach from stdin
                -h                This help text
                -I length        TCP receive buffer length
                -i secs                Delay interval for lines sent, ports scanned
                -j                Use jumbo frame
                -k                Keep inbound sockets open for multiple connects
                -l                Listen mode, for inbound connects
                -n                Suppress name/port resolutions
                -O length        TCP send buffer length
                -P proxyuser        Username for proxy authentication
                -p port                Specify local port for remote connects
                -q secs                quit after EOF on stdin and delay of secs
                -r                Randomize remote ports
                -S                Enable the TCP MD5 signature option
                -s addr                Local source address
                -T toskeyword        Set IP Type of Service
                -t                Answer TELNET negotiation
                -U                Use UNIX domain socket
                -u                UDP mode
                -V rtable        Specify alternate routing table
                -v                Verbose
                -w secs                Timeout for connects and final net reads
                -X proto        Proxy protocol: "4", "5" (SOCKS) or "connect"
                -x addr[:port]        Specify proxy address and port
                -Z                DCCP mode
                -z                Zero-I/O mode [used for scanning]
        Port numbers can be individual or ranges: lo-hi [inclusive]

ติดตั้ง Netcat Traditional

เราสามารถเลือกใช้ Netcat เวอร์ชั่นดังเดิมที่ใช้กันทั่วไปได้โดยการติดตั้งใหม่ที่เป็น Traditional version ดังนี้
~ % sudo apt-get install netcat-traditional
[sudo] password for pspn: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  language-pack-zh-hans language-pack-zh-hans-base
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 326 not upgraded.
Need to get 63.8 kB of archives.
After this operation, 156 kB of additional disk space will be used.
Get:1 trusty/universe netcat-traditional i386 1.10-40 [63.8 kB]
Fetched 63.8 kB in 0s (163 kB/s)        
Selecting previously unselected package netcat-traditional.
(Reading database ... 199644 files and directories currently installed.)
Preparing to unpack .../netcat-traditional_1.10-40_i386.deb ...
Unpacking netcat-traditional (1.10-40) ...
Processing triggers for man-db ( ...
Setting up netcat-traditional (1.10-40) ...

กำหนด Default Netcat

กำหนดให้ Netcat-Traditional ที่ติดตั้งใหม่เป็น default ที่เราใช้งาน
~ % sudo update-alternatives --config nc
There are 2 choices for the alternative nc (providing /bin/nc).

  Selection    Path                 Priority   Status
* 0            /bin/nc.openbsd       50        auto mode
  1            /bin/nc.openbsd       50        manual mode
  2            /bin/nc.traditional   10        manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /bin/nc.traditional to provide /bin/nc (nc) in manual mode
เท่านี้เราก็ได้ Netcat ที่เป็นเวอร์ชั่นปกติที่เขาใช้งานกันแล้วครับ



Computer hacking and Cybersecurity addict :)

Leave a comment