#the POINT of a WIKI is to make your information ACCESSIBLE!!!! stop obfuscating it in your dumbass coded terms!!!!
Explore tagged Tumblr posts
beatcroc · 3 months ago
Note
Thoughts on the incident?
Tumblr media
22 notes · View notes
pressography-blog1 · 8 years ago
Text
Beneficial(?) coding pointers from the CIA’s faculty of hacks
New Post has been published on https://pressography.org/beneficial-coding-pointers-from-the-cias-faculty-of-hacks/
Beneficial(?) coding pointers from the CIA’s faculty of hacks
There are lots of documents in WikiLeaks’ dump of records from the Primary Intelligence Enterprise’s Engineering Improvement Organization (EDG).                                                          
Many of the files in the dump are unclassified—manuals provided by means of Lockheed Martin and different vendors, for instance. Most are labeled with the name of the game stage, along with matters as harmless as a guide to getting started with Microsoft Visible Studio, reputedly the desired Development tool of the EDG’s Applied Engineering Branch (AED). There may be additionally a smattering of meme construction additives and lively GIFs of the anime series Trigun.
But a tiny fraction of the facts is relatively classified, consistent with file marks. This cache sits on the Top Mystery degree, and it’s marked as “Special Intelligence” (SI) and “NOFORN” (no foreign distribution). Out of the first batch of just over 1,000 files, there are two paragraphs marked at that stage. And those pieces describe minutiae of ways the CIA’s Community Operations Department wishes the cryptographic functions of its equipment to paintings and how the CIA obtains and prepares telephones to be used in its make the most lab.
So for the Most part, the damage achieved with the aid of the files is not what they reveal approximately the CIA’s hacking and Community espionage talents. Alternatively, the hassle is the volume to which these leaked documents reveal the technical specs, practices, and different information of the CIA’s inner hacking device Development groups. Now, anyone getting access to the documents can recognize how the EDG used elements taken from malware located inside the wild to build their personal and what the CIA defines because of the “dos and don’ts” for growing assault and espionage gear. In different phrases, a good deal of the tradecraft of the CIA’s internal hacking groups has been pulled from their collaboration server.
However, a lot of that tradecraft looks as if Malware a hundred and one upon inspection. In reality, a number of the comments left by CIA developers in 2013 pointed out how dated the practices have been. Lots of those techniques do not qualify as Secret.
To illustrate this, we’ve got annotated a few excerpts from the AED builders’ malware-writing knowledge. A bargain of these guidelines might practice to absolutely everyone writing a protection-centered application. a lot of the high-quality practices centered on anti-forensics—making it greater hard for the adversary’s information safety teams to come across and decipher precisely what turned into going on with malware. And some of the chestnuts on overall coding practices consist of:
I. Do not leave a calling card
AED’s developers had been warned against doing matters in developing gear that might make it less complicated for an adversary to parent out wherein the device, implant, or malware they developed had come from.
“DO now not depart dates/instances such as bring together timestamps, linker timestamps, construct times, get entry to times, and many others. That correlate to well known US middle operating hours (i.E. 8am-6pm Japanese time).” Such artifacts have often been utilized by analysts as a part of the process of attributing malware to Russian authors, for example.
AED developers were informed to use UTC time all the time-dependent operations in code as properly. This ensures that they did continuously and didn’t surrender any precise time area bias.
“DO strip all debug image data, manifests [left by Microsoft Visual C++], build paths, [and] developer usernames from the final build of a binary.” The one’s forms of matters could be utilized in attribution as properly. For comparable motives, the document exhorts builders to no longer “go away facts in a binary report that demonstrates CIA, USG, or its witting partner businesses’ involvement in the introduction or use of the binary/device.”
Simple Hacking Tricks
Then There’s the primary operational security admonition: “DO no longer have records that consist of CIA and USG cowl phrases, compartments, operation code names or other CIA and USG particular terminology within the binary.”
There’s an extra caution about every other item now not to encompass in tools—horrific language. “DO now not have ‘grimy words’ within the binary. dirty words, which include hacker phrases, might also cause unwarranted scrutiny of the binary file in question.”
II. Do not break the goal’s laptop
AED builders have been subsequent warned against rookie mistakes that might make it less complicated to opposite-engineer gear. the first rule of Malware Membership changed into not to make the goal’s device unusable, therefore drawing undesirable interest to the malware’s presence.
“DO now not perform operations so as to reason the target laptop to be unresponsive to the user (e.G. CPU spikes, display screen flashes, screen ‘freezing’, and many others.,” the file warns.
“DO no longer perform Disk I/O operations with a view to purpose the machine to end up unresponsive to the person or alerting to a gadget Administrator.” The last thing you want is for a person to an appearance in a device screen and see something referred to as Notepad.Exe ingesting all of a system’s CPU, Community, and disk I/O cycles. “DO have a configurable most length restrict and/or output report is counted for writing… output files.” This prevents series jobs with the aid of a device from filling up the disk storage of the goal, as an instance. That prevalence could in all likelihood motive a help visit that would reveal the device’s presence.
In a similar vein, the record instructions, “DO no longer generate crash dump documents, core dump files, ‘Blue’ screens, Dr. Watson or other dialog pop-u.S.and/or other artifacts in the occasion of a program crash.” Mistakes codes work both methods: they may be useful in forensics in addition to debugging. AED’s developers are directed to force their code to crash in the course of testing to affirm that it won’t deliver itself up.
III. Use a few encryption, dude
any other part of keeping a low profile is encrypting information used by the device—in memory, on disk, and over the Community. One of the files linked blanketed the subsequent tips:
“DO obfuscate or encrypt all strings and configuration data that at once relate to tool functionality,” due to the fact somebody searching at a configuration file or an executable in a textual content editor or hex editor have to not be capable of discern out what your device is doing and wherein it’s miles sending matters simply from textual content embedded inside the code. The report calls on AED builders to put in writing code that simplest decrypts facts because it’s wished and to without delay dispose of the unencrypted records from memory as soon because it’s now not wished. “DO no longer Depend on THE Running gadget TO Try this UPON TERMINATION OF EXECUTION.” “DO no longer write undeniable-text series data to disk,” due to the fact that could get awkward rapid. “DO encrypt all facts written to disk,” and “DO utilize a cozy erase [overwriting the file with zeros at least once] whilst casting off a record from disk.” That manner, There is not anything left inside the trash can to retrieve. “DO use give up-to-give up encryption for all Community communications”—because the passive collection of unencrypted statistics leaving the Network could destroy the operation’s day. Use trendy Net protocols for “blending” communications with the relaxation of the target’s Community traffic—no longer some custom protocol seeking to faux its manner via as something else. awful protocols will display up as broken site visitors in a Community screen like Wireshark, which could draw interest. “DO now not solely Rely on SSL/TLS to relaxed statistics in transit”—due to the fact SSL proxies might be able to guy-in-the-middle the Community session and decrypt it. That is a lesson that even a few comfortable messaging applications have found out the tough manner.
“DO use variable size and timing (aka jitter) of beacons/Network communications. DO no longer predicatively ship packets with a set size and timing. DO right cleanup of Community connections. DO now not go away around stale Network connections.” In brief, varying the size and time of communications returned to a command and manipulate server will make the packets you ship over the Community much less of an announcement of your tool’s presence. IV. Don’t make the job of the adversary’s forensics crew any easier
A lazy espionage device coder is an unsuccessful espionage tool coder. The “DOs and DON’Ts” manual calls out some of coding hygiene guidelines geared toward stopping sloppiness from exposing CIA operations:
“DO strip all debugging output…From the very last build of a tool”—because There’s nothing like leaving a bit instrumentation at the back of to help a person else figure out what the device is for. “DO not explicitly import/name capabilities that aren’t always steady with a tool’s overt capability.” In different words, if you’re disguising an implant as notepad.Exe, Do not have it call Windows approaches that notepad.Exe would not call—it’ll improve suspicion and make it less complicated for a person to figure out what your device is, in reality, doing thru static evaluation. “DO now not export sensitive characteristic names; if having exports are required for the binary, utilize an ordinal or a benign characteristic call.” because having a line of code like “__declspec( DllImport ) void DoVeryBadThings()” might draw the attention of an analyst.
“DO not study, write and/or cache facts to disk unnecessarily.” Writing too much to disk makes the forensic footprint of a tool more apparent.
Cia Wiki
Maintain it small: “DO make all reasonable efforts to reduce binary record length for all binaries in an effort to be uploaded to a far-flung target (without the usage of packers or compression). Best binary record sizes should be under 150KB for a totally featured tool.”
“DO now not allow Community site visitors, together with C2 packets, to be re-playable.” That means communications between the tool and the command and manipulate server going for walks it should be time-and-date sensitive in order that the adversary cannot record the traffic and ship it again at the tool in an attempt to opposite-engineer what it’s doing.
0 notes