ICO and Security: Reviewing the Competitive Intelligence Competition at Positive Hack Days

image

A few weeks before the Positive Hack Days forum, the traditional Competitive Intelligence competition was held. This year, we relied on the security audit and cyber threats of ICO , during which we had to analyze all external infrastructure, including a team of organizers, developers and consultants, to reduce risks. We created our competition based on real projects.

All assignments were centered around the fictional small crowdsale of Notsopositive, a typical ICO with a small number of employees. During the competition, participants learned a lot of hidden information about the founders and employees of the company, their relatives and friends. First of all, the participants were required to have a large number of online services and social networks in the arsenal, to know their specifics and to be able to use. In addition, it was necessary to operate the available information in order to find the necessary data about people and with their help obtain new ones.

Tasks were distributed in such a way that both veterans and newcomers would be boring and each would leave at least with one flag. Many tasks formed a peculiar sequence and formed into a whole plot. There were also tasks that were performed nonlinearly, so participants had to store information about each step taken.

To solve the first introductory task, where the rest started from, it was necessary to use Google:

image

image

All tasks were built around eight Notsopositive employees from the Executive Team and the Development Team.

image

image

With a careful study of the site, the participants now and then ran across various “entry points” that led to the solution. More details on each task.

Adam Wallace, CMO


Questions in the Adam Wallace thread:


So, stumbling on the whitepaper site, you had to upload a PDF to any online service for reading META-data (for example, PDFCandy ) or open it in Word, where you could find the nickname CMO, also known as Adam Wallace, sumcoinz.

Fans of doing everything with their hands could open the PDF in their favorite HEX-editor and get Adam's nickname on their own.

image

Further, in order to continue the chain, it was necessary to find an FTP server using Knock Subdomain Scanner , also for this purpose one could use the dnsmap , sublist3r , sublazerwlst utilities .

image

There was another way: find out the real IP address of the site notsopositive.online, hidden behind CloudFlare, and scan the entire subnet in search of the 21st port. The approach to solving this task is individual and depends on the experience and skills of each participant.

The obtained IP-address of the FTP-server and login was enough to attack brute force password. For this it was necessary to apply the legendary utility THC-Hydra . It sounds easy, but participants needed to use the entire dictionary of the found nicknames of the ICO organizers. By the way, in the FTP logs we also saw attempts to attack root, admin, administrator users.

Having learned the login of Adam (sumcoinz), it was necessary to sort out the password according to the most famous dictionary among CTF-players.

During the competition, some participants had problems connecting to FTP due to the limited number of clients, but the configuration error was later corrected. We changed the FTP server password to a simpler one in order to simplify and speed up the participants to complete the task.

image

The attack usually takes only a few seconds. Next, it was necessary to go to FTP in any convenient way and find a file dump that is typical for a private server.

image

In addition to the software, there were curious photos that contained several flags at once.

image

Adam’s blunt handwriting indicates his son’s name, place of study, school address and home address! Another flag is the allergen of son Adam. On the same server, it was possible to find an interesting file called screenshot.jpg:

image

In the screenshot of the WhatsApp correspondence, presumably Adam and his friend. In the message, Adam's friend finds out about the location of the bar in which, at the time of their communication, Adam spends time. Using any service with Spokane city maps, the participant could “go through” the described route and stumble upon that very favorite CMO Notsopositive bar called “7th Rail”.

image

At the time of the completion of the competition, only 20 participants successfully completed all the tasks from the storyline of Adam Wallace and reached the described stage.

Ryan Evans, CTO


Questions to the branch Ryan Evans:


Ryan Evans - Technical Director of the ICO-project. Using utilities to search directories and files, such as dirb or the fuzz.txt dictionary, at the root of the notsopositive.online website, you could find the .git directory, from where you can get all the sources from the repository. Next - it was necessary to get the source using this method, use GitRipper , specifying the real IP address of the site as a target, and extract the configuration files of the Git version control system. You could get /.git/config using a regular browser.

image

image

In the config file there was a link to Ryan's GitHub account ( github.com/ryanevans0082 ), where you could stumble upon his Jabber account:

image

image

There was no point in writing there, but searching with Google was a good idea. The first flag was handed over, then you had to find the Speaker Deck account and the only downloaded presentation Initial Coin Offering in Google’s issue.

image

Participants awaited the award, crying out tears of tears from viewing the presentation - on the last slide, Ryan's corporate e-mail was published.

image

In this case it was useless to go through the password from the email, but it could be restored on a secret question:

image

Grandmother's, yes :) The question is not the most reliable. On real projects, we often met with similar ones. The answer to these questions, as a rule, can be found on social networks - Odnoklassniki, VKontakte and Twitter. The next step is to search for accounts:

image

On Twitter, at the request of “Ryan Evans”, a familiar beard appeared. By the way, it was possible to find an account using Yandex.

image

In the Twitter feed, there was a mention of the grandmother's birthday - April 20th.

image

The exact age of the grandmother could be calculated by the number written by the cream on the cake.

image

A little arithmetic and now we know the exact date of birth - April 20, 1946. Then a reasonable question arises - in what format could Ryan write the date? It was possible to find out by scrolling through Twitter: there was a post about a car, gray Kia Carens, purchased on October 1, 2014. The date is in the dd.mm.yyyy format. Perhaps Ryan wrote the answer to the secret question in the same format.

image

Not all OSINT lovers turned out to be motorists at the same time, so some participants had problems with determining the make and model of Adam's car. In cases where the search for pictures on Google or the driving experience does not help, Yandex can help. He accurately identified the make and model of Kia Carens.

image

Flag CTO's Car model is handed over. Next, it was necessary to substitute the grandmother's birth date in the correct format (04/20/1946) as an answer to the Yandex.Post secret question.

After you could put any new password (the next participant in any case changed it) and now we hit the mailbox of Ryan. In the sent messages there was a letter to his wife, in which the participant could find her email evansmegan02282@yahoo.com .

image

From the address it was easy to calculate the name - Megan, and a search on social networks produced a VKontakte page:

image

Find Megan VKontakte and it was possible through the password recovery form. To do this, you need to request a password recovery, specify the email and last name Evans:

image

On the page a huge amount of information:


Keeping in mind everything new about Megan, the participant probably thought: “Why did Megan never reply to the photo with the cat in the correspondence via email?”. Indeed, something is unclean here.

Few guessed the way to continue the decision, but who guessed it came out in the top 10 participants.

So, install Tinder and emulate geolocation using applications like Fake GPS - or install Tinder on Bluestacks, where a similar function is present out of the box.

image

The Megan (Miami, Florida) resting place was found based on the geotags on her photos from the VKontakte page. Using Fake GPS, it was necessary to “fly” to Miami, Florida, set the target audience for the Megan parameters (the age and exact location from the VKontakte profile are already known) and swipe the girls. After 5–10 beautiful ladies, “the one and only” Megan Evans showed up. Only her first and last name in Tinder turned out to be different, and to make sure exactly that it was her, the photos from VKontakte helped.

image

To make sure that this is not a mistake, but the Megan we need, it was necessary to verify the place of study and hometown automatically imported from Facebook when connecting to the account. Flag CTO's wife place of work passed.

Then the search continued by the second, “shadow” personality of Megan. Feature Tinder - place of work is automatically substituted from the profile of Facebook. Therefore, it was immediately possible to go to Facebook to find the Scamsopositive page.

image

Using the “jealous student” intelligence method, also known as “breaking through likes”, you could find the Joanne Brandt page and pass the last name of the only friend on this page, Rossi, as the last flag.

image

The remaining tasks were of a lower level of complexity and were combined into small quests with relatively cheap flags. The solution might require special knowledge of the operation of some services. For example, the task of determining the mobile phone model of the front-end developer Alexey Nitshchikov assumed that the participant was aware of the possibility to indicate the model of a favorite gadget in the profile on the forum w3bsit3-dns.com.

So, first we had to find Alexei's front-end provider in social networks.

image

A request to Facebook issued several at once, but only one IT specialist. The subtle link between the description on the company's website and Facebook account was a themed avatar, which issued the professional orientation of our victim.

image

The unique address of the page (m0arc0de) gave us a frequently used nickname. Next was a search for w3bsit3-dns.com or xda-developers. By nick it was possible to find the very same frontend developer from Notsopositive. In the "About Me" field, Alexey wrote all the information we need about ourselves, which allows us to unambiguously determine that this is exactly who we need. Flag with a phone model handed over.

image

In the task of searching for an unknown hacker (Evil guy's username on Anonymous freelance service) it was assumed that the participant would be aware of the new portal for anonymous posting of various services and commercial offers called Yukon. After a little flipping through the “Work” section, you could find a curious ad with a direct reference to the site under study. In contacts for feedback was indicated and the mailing address in which was the nickname of the "evil" guy.

image

How to be to those who have not heard about Yukon? Here the simplest Google dorks come to the rescue, and the answer is often hidden in the question itself.

image

The very first result in the issue - we need the site. A search by nickname showed that d34dl0ck is a very common nickname, therefore there are a lot of people associated with this nickname. It was possible to identify the d34dl0ck we need by the exception method, checking each one.

image

By narrowing the search to the email address, we got a uniquely suitable result.

image

A message on the forum found that our customer of shadow services has the skills to develop malware.

image

image

What kind of malware did he write? The archive with the promised source codes was the executable file. The target .NET 3.5 framework points to the most likely development language - C #. A web search for “Hidden Tear” also pointed to C #. But what exactly has changed in the code? Here the .NET Reflector decompiler will help. Observing all precautions when working with malicious code, you need to load the executable file into the decompiler. NET Reflector does an excellent job with decompiling an application. In the list of functions used on one form, GenEthAddress was found, its name most closely matches the question in the Evil guy's wallet number task.

image

A quick glance at the decompiled code made it possible to understand the algorithm of the “assembly” of a four-line wallet address. Strings of equal length are concatenated into one big one, then it is converted into an array of characters. The resulting array is reversed. The GenEthAddress function is called from the messageCreator function, and the final version of the wallet number is created in it. Before the beginning of the array is substituted '0x'.

image

A simpler solution method with the attendant suffering of a virtual machine is to launch the executable file of a virus. The file encryption message displays the ETH wallet address.

image

The IP address of the notsopositive.online web server, hidden behind CloudFlare, was also possible in several ways. Each task was decided according to the route planned by the organizers, however, participants often found alternative ways.

At the top of the ICO website, you could find a link to a subscription page for company news, and one of the ways to find out the IP address for CloudFlare is to send an email from the server to your email and see the headers. However, there are others .

image

Go to the form, specify in it any name and your email address.

image

In the incoming letter you had to open the service headers and get the following:

image

and 178.170.172.110 pass as a flag.

A member with the nickname @ AlexPavlov60 found an alternative way to find a hidden IP address using Shodan. If during the passage the participant already knew the IP address of the FTP server, it was advisable to check the entire subnet for the presence of other Notsopositive servers.

On request: net: 178.170.172.0/24 product: »Apache httpd » Shodan returns several servers at once, including one with a familiar DNS.

image

Another shadow search engine that can help us, Censys, was suggested by the participant @rdafhaisufyhiwufiwhfiuhsaifhsaif.

On request: https://censys.io/ipv4?q=80.http.get.title%3ANotSoPositive, it also returns the desired address.

image

Of course, there are ready-made solutions for extracting the IP address hidden behind CloudFlare. A Blablablashenka member has used the Hatcloud utility, which finds a neighboring address from the subnet. It only remained to search the web servers there.

It turned out to be quite easy to find another domain to which this IP address points: it turned out that the PTR record shows all the services on which you can get information about IP, so the cost of the task did not correspond to the complexity. The answer is scamsopositive.com.

James Taylor, CEO


Questions in this thread:


On the ICO page there was a mention of Telegram, however the link did not lead anywhere. It was a small hint for searching a channel or chat NOTSOPOSITIVE:

image

There you could find a CEO account with an avatar and his car.

image

Using the search for pictures on Google it was easy to find the car of James in the photo - this is a Toyota Cruiser.

image

Next, it was necessary to find the nickname of the CEO, which was not in Telegram. However, it was known that one of his friends was named James Cottone. One of the solutions that we laid out is to use the password recovery service on Facebook, where you can enter a friend’s name to search for your account:

image

In fact, many services make it possible in this way to find out whether a specific email or phone number is tied to the service. After entering the name and surname of a friend, it was notified that the access code will be sent to the post office:

image

It is not difficult to guess that the mail is taylor@notsopositive.online. Also, one of the options proposed by the participant is to use the anymailfinder.com service, where the email addresses of some of the employees will immediately appear:

image

Then, knowing the mail, it was possible to go through the recovery process again and see what its avatar looks like:

image

And then find his page and nickname:

image

To find his son, it was necessary to take advantage of the Facebook feature: he has the ability to view which publications the user likes. All this can be seen on this service . The likes put by James revealed the profiles of his wife and son.

image

image

On the page of the son - his login on Tvich (br4yl0r), however it gave us nothing. In the search engines, too, almost nothing. In such cases, if profile pages are not indexed, it is useful to use utilities like namechk.com, which show the employment of nicknames and domain names on different web services. Thus, it was possible to find a profile in Steam, and from it in GitHub - STKLRZSQUAD. Here again it was necessary to know the specifics of the service and see what Bradley laid out on the gist. Next, find this bytecode:

 0x606060405234801561001057600080fd5b5061013d806100206000396000f30060806040526004 3610610041576000357c010000000000000000000000000000000000000000000000000000000090046 3ffffffff16806338cc48311461009e575b737527f9ac752aaddbb54432d288f9a89191f7954f73fffff fffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888 f1935050505015801561009b573d6000803e3d6000fd5b50005b3480156100aa57600080fd5b506100b36 100f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673fffffffffffffffffffff fffffffffffffffffff16815260200191505060405180910390f35b6000737527f9ac752aaddbb54432d28 8f9a89191f7954f9050905600a165627a7a72305820a369acc2650e24d84edd29c97cee2db1f5caada8315 81fa2482a002b87404aba0029 

and looking for the headers, we realized that this is a smart contract bytecode:

image

Then we had to use the utility to convert it to opcode, for example, here . Inside find the already known wallet from another task:

image

Has the CEO's son ordered an attack on his father's ICO?

Rajesh Bishop, System Administrator


Questions in this thread:


As usual, it was necessary to start with typical intelligence in order to discover the domain mail.notsopositive.online, where using nmap to find a self-signed certificate that was valid for another domain:

image

Then, by making an ANY query on the bishopshomepage.win DNS, you could find his email address:

image

Then - answer the question about your favorite beer from Rajesh. Many beer lovers are familiar with a social network such as Untappd (it can be found on the query “beer social network”). One option was, as always, to use other search engines:

image

Further it is already easier: to find the profile of the sysadmin, in it the only photo with the hashtag.

image

However, there are no hashtags in this social network, which should have given rise to the idea that you need to search for others: VKontakte, Facebook, Twitter and Instagram. In the last one and you could find a photo with a geotag:

image

Headquarters NOTSOPOSITIVE


The search for headquarters again demanded that the contestants make efforts and dig up all social networks. The answer was on LinkedIn:

image

Mark Fox, CSO


To understand where the contest starts with CSO, it was necessary to use fuzz.txt again and find in the root directory of the web file an .DS_Store file, which macOS reserves for itself. Having decrypted it using the online utility https://labs.internetwache.org/ds_store/ or by viewing a binary file, you could find the following lines:

image

At the address and really lay a photo of a man. In addition, one of the features of Faceboock: earlier, when saving a file, the second numeric value was the photo ID. So you could find a profile:

image

In the profile and corporate address Brand: mmmmmmmmfox@notsopositive.online

Results


This year more than 500 people took part, and almost 300 people coped with at least one task. Noyer_1k again became the winner , whose efforts were rewarded with Apple Watch smart watches, invitations to the forum and souvenirs from the organizers. The second place, Power Bank , an invite to the forum and souvenirs earned Kaimi0 . Third place, the book Open Source Intelligence Techniques: Resources for Searching and Analyzing Online Information, invitation and souvenirs took empty_jack . Final results table:

#NicknamePoints
oneNoyer_1k816
2Kaimi0816
3empty_jack816
fourAntxak786
fiveV88005553535661
6jerh17611
7shsilvs556
eightsomeotherusername526
9trace_rt491
tenshadowknight481

Congratulations to the winners!

Analysis of previous competitions:


Source: https://habr.com/ru/post/413203/


All Articles