Home
Calendar
Certifications
Columns
Features
Forum
Resources
Vitals
Latest Additions
April 2013 Free Giveaway Sponsor - eLearnSecurity
Human Intelligence to Navigate the Security Data Deluge
February 2013 Free Giveaway Winner of SANS CyberCon Training
Interview: Bugcrowd Founders on Herding Ninjas for Crowdsourced Bug Bounties
Network Forensics: The Tree in the Forest
March 2013 Free Giveaway Sponsor - Mile2
Book Review: Violent Python
February 2013 Free Giveaway Sponsor - SANS
Holiday 2012 Free Giveaway Winner of Metasploit Pro by Rapid7
Course Review: SANS FOR408 Computer Forensic Investigations – Windows In-Depth
The Security Consulting Sugar High
Tutorial: Fun with SMB on the Command Line
Interview: Ilia Kolochenko, CEO of High-Tech Bridge
October 2012 Free Giveaway Winner of LearningGate Training
The Broken: Assessing Corporate Security in 2012 to Make a Better 2013
EH-Net Login
Welcome Guest.
Username:
Password:
Remember me
Lost Password?
No account yet?
Register
Who's Online
We have 39 guests and 1 member online
You are here:
Home
Ethical Hacking Discussions and Related Certifications
Programming
Assembly
EH-Net
May 25, 2013, 12:45:47 AM
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
News
: Go back to The Ethical Hacker Network Online Magazine
Home Page
Home
Help
Calendar
Login
Register
EH-Net
>
Ethical Hacking Discussions and Related Certifications
>
Programming
(Moderator:
don
) >
Assembly
Pages: [
1
]
2
Go Down
« previous
next »
Print
Author
Topic: Assembly (Read 10589 times)
0 Members and 1 Guest are viewing this topic.
satyr
Newbie
Offline
Posts: 41
Assembly
«
on:
December 16, 2010, 10:30:50 PM »
Hi all,
I want to look at what happens in the background of my C code.
This would help me in understanding the assembly language better. My goal is to understand this so that it helps me in Reverse Engineering.
I want to explore my C code in OllyDB just like we look at Crackme's
Guide me about how to do it
Regards,
SatYr
Logged
H1t M0nk3y
Hero Member
Offline
Posts: 865
Re: Assembly
«
Reply #1 on:
December 17, 2010, 06:51:42 AM »
Hi satyr,
You said your goal is to understand more reverse engineering. But what do you really want to do:
- Reverse engineer viruses, worms, etc to understand how they work
- Exploit a stack or heap buffer overflow
- Other?
I ask this question because trying to understand C code is very tough and not mandatory at all in order to write exploits. So if you can be a little bit more precise, we will be able to guide you properly.
Logged
OSCP, GPEN, GWAPT, GSEC, CEH, CISSP
dante
Jr. Member
Offline
Posts: 58
Re: Assembly
«
Reply #2 on:
December 17, 2010, 09:02:42 AM »
http://en.wikibooks.org/wiki/X86_Disassembly
http://www.microsoft.com/msj/0298/hood0298.aspx
That should probably get you going.. Also try to answer H1t M0nk3y's questions as we can probably guide you better if we know your goals..
«
Last Edit: December 17, 2010, 09:13:59 AM by dante
»
Logged
satyr
Newbie
Offline
Posts: 41
Re: Assembly
«
Reply #3 on:
December 20, 2010, 05:08:53 PM »
Thanks for your replies..
I want to understand how exploits are created both by analyzing the application and from patches
I am also interested in malware analysis
I am working as a penetration tester, I want to expand my skills. I like both the above mentioned skill set but im confused whether it is possible to pursue both together or i should go about it one after another. If that is the case which one should I choose right now.
I am considering changing my profile based on these skills. Ideally I would like to work in a company which specializes in either exploit dev or malware analysis. The company I am in right now only caters to pen testing. My objective is to develop my interest into something i can work for. Getting paid for doing something you love is the best thing to happen to anyone.
Kindly guide me in this regards.
Thanks,
Satyr
Logged
H1t M0nk3y
Hero Member
Offline
Posts: 865
Re: Assembly
«
Reply #4 on:
December 20, 2010, 07:51:15 PM »
Hey satyr, have you read this thread?
http://www.ethicalhacker.net/component/option,com_smf/Itemid,54/topic,5219.0/
Also, have you read the articles provided by dante? The "microsoft" one is pretty good. If you are very serious, I would try writing very simple programs in assembly, like Hello World. Then add a few loops and jump conditions (if). Once you understand what ESP, EIP, EAX, etc are, than move to the "Shellcoder's Handbook" or do PWB. At this point, you should know enough to continue by yourself.
I suggest you to buy something like "The assembly language for intel-based computers". It is pretty expensive, but I found the old third edition for something like 5$ on eBay. It's a good reference book...
I hope it helped!
Logged
OSCP, GPEN, GWAPT, GSEC, CEH, CISSP
satyr
Newbie
Offline
Posts: 41
Re: Assembly
«
Reply #5 on:
December 20, 2010, 08:39:23 PM »
thanks a ton
this surely helps
one more thing, please advice a little more about the topics Exploit development and Malware analysis.
Considering my background in Pentesting, what might be a good option career wise. I like both but im confused about choosing both considering the learning curve and time which i would have to dedicate for learning both at the same time.
Thanks,
Satyr
Logged
H1t M0nk3y
Hero Member
Offline
Posts: 865
Re: Assembly
«
Reply #6 on:
December 21, 2010, 07:14:29 AM »
I am not an expert in either Exploit development or Malware analysis. I wrote 5 or 6 exploits and never did Malware analysis. The only things I know is Malware analysis is probably the hardest thing in computer science, after writing your own OS! So get very, very good at assembly, exploit development and understand viruses, worms, backdoors etc very well before even starting on this route. Again, I know close to nothing about this field, but that's what I will do (notice: I didn't say "would do" but "will do"
)
So start with Exploit development. Again, Offensive Security has a nice introduction to exploit development in their PWB course. They go further in the topic with their CTP course.
Logged
OSCP, GPEN, GWAPT, GSEC, CEH, CISSP
dante
Jr. Member
Offline
Posts: 58
Re: Assembly
«
Reply #7 on:
December 21, 2010, 12:02:09 PM »
Exploit development and Malware analysis are quiet different topics and each requires its own steep learning curve. At advanced levels both requires to have a good knowledge in reverse engineering and os internals. There are several overlapping topics and few topics like Packers, protectors, anti-reversing techniques are discussed only in malware analysis. In my opinion, its better to start with the exploit development.
I would suggest you to start with the first link in previous post on x86 disassembly. Its packed with a lot of examples and is very newbie friendly. Then move on to reading PVE buffer overflow tutorials. Beware of PVE tutorials, if you dont know the role of function epilogue and function prologue and still did a stack overflow, you have not yet understood it. When you read ret to libc , ROP should be obvious to you, if not, you have not understood it. But that sort of understanding and ability to visualize the stack can be attained only if you have strong hold on the basics. So start with x86 disassembly or atleast read on different calling conventions before jumping into Aleph one's post.
Once you are done with pve's tutorials and comfortable with the debugger, try heap spraying, heap feng shui(requires knowledge in OS internals) and then move onto reverse engineering following lena's tutorials. Again the basics are important, you should know the PE file format, memory management. This is based on my experience and hope this works for you.
«
Last Edit: December 21, 2010, 07:33:59 PM by dante
»
Logged
H1t M0nk3y
Hero Member
Offline
Posts: 865
Re: Assembly
«
Reply #8 on:
December 21, 2010, 12:20:19 PM »
Other assembly videos:
Assembly Language Primer for Windows 1 & 2
http://www.securitytube.net/Security-Basics-Video-List.aspx
Logged
OSCP, GPEN, GWAPT, GSEC, CEH, CISSP
satyr
Newbie
Offline
Posts: 41
Re: Assembly
«
Reply #9 on:
December 21, 2010, 05:46:19 PM »
wow ... thanks a ton dante and H1t M0nk3y ...that is good piece of information
guess i have my hands full now .... ill follow these suggestions...
@dante - currently wht are you doing in exploit development
@H1t M0nk3y - plz let me know if u fix up on a course ... even ill lookout for good courses and inform u in case i go ahead with some
Logged
sil
Hero Member
Offline
Posts: 549
Re: Assembly
«
Reply #10 on:
December 21, 2010, 07:32:43 PM »
Quote from: dante on December 21, 2010, 12:02:09 PM
Packers, protectors, anti-reversing techniques are discussed only in exploit development. In my opinion, its better to start with the exploit development.
Whoa nelly slow down. Packers and anti-reversing is exposed and highly effective in malware analysis. Not "only" exploit development. To be honest, "packers" are usually used for covertness when someone doesn't want another visibly seeing what they're doing. Most shellcode exploits are fully visible across the board.
For example, when in Canvas, Core or Metasploit, I can open, modify and save exploits in ALL applications across the board. If they were packed and or encrypted and THEN packed, there would be an issue of trust within the security community and companies buying applications like Canvas, Core and Metasploit Pro.
Granted there is a LOT more overlap, I actually recommend the reverse, learn MALWARE analysis before exploitation. Even if you DO start learning exploitation, unless you plan on doing something sketchy, there is usually NO NEED to pack anything - again unless you plan on doing something sketchy.
By understanding malware analysis, from a professional level, you're liable to make more headway in the industry. This can be confirmed by visiting employment websites like Dice, Monster, etc., do a quick search for say "malware analyst" versus "exploit developer." You CAN make some serious cash with sites like say Zero Day Initiative, iDefense, etc., but the likelihood of you gaining a foothold in a comfortable solidly grounded company like say BT, Raytheon, etc., is low.
Exploit Development = good for bookoo bucks selling exploits ... Many companies won't care that you can exploit someone elses stuff
Malware Analysis - companies care that you can analyze (incident response, forensics, CERT/SERT/PSIRT) what is causing chaos on their network.
Malware analysis is a lot more simplified than wanting to yank your hair out over say DEP and ASLR. In a MA environment, you're usually going to create your labs, infect yourself, analyze the post and pre states of the machine that is now infected. What did the malware do, how did it do it, what did it affect, where did it try to connect, HOW did it try to connect, how did it try to bypass protections.
In an exploit development scenario, you're trying to disassemble/decompile thousands of lines of code looking for something that triggers an anomaly. WHAT can you do with that anomaly. That's fine and dandy. Now that you did it on ONE machine, replicate it across the board.
For those who've seen my mushroomcloud exploit, this was a classic clusterfsck of epic proportions. (Replication). I spent who knows how many hours going back and forth on machine to machine to machine trying to get it right across the board. I had others (thanks phenolit if you stumble upon here) who helped me iron out the kinks... At the end of the day, it turned out to be an NDIS driver issue via way of TREND MICRO causing VMWare to implode. Bottom line, anyone who DIDN'T use Trend Micro weren't affected by MushroomCloud. Those who did, sayanora. So from the exploit development side, how much do you think a company would find an exploit like this to be worth? How much total time did I spend on the exploit, analysis (pre and post mortem)? 3 months. This included time spent with VMWare engineers on the phone, time spent with friends, coworkers and other security pros on conference calls and email, time spent trying to get Trend Micro to understand it all.
End of the day? If I *tried* to even shop it around on say ZDI, iDefense, or others, it would be pointless. It's not replicable outside of unique instances. This is a nightmare in the windows exploitation development world. And THAT is where the money is, in Windows exploitation. Linux, BSD, Solaris, tends to be more for "bragging rights." If you think for a moment any one of those mentioned would even care financially about the potential damage from you 'sploit' think again. Whereas MS is used by millions of business, they're liable to be more visible hence the need for them to respond quickly.
Now I've had my share of exploit development and analysis of malware and or viruses throughout the years. From my POV, malware analysis is where the CAREER is at. Exploit Development is where bragging rights are... It is also where headaches and gray hair is made.
Anyway my two cents
Logged
http://www.infiltrated.net/mgz/puppylecter.jpg
dante
Jr. Member
Offline
Posts: 58
Re: Assembly
«
Reply #11 on:
December 21, 2010, 07:55:40 PM »
thanks for pointing out sil... i edited it ...sorry satyr... i meant malware analysis and i really wanted someone to prove me wrong. I dont think packers/protectors are involved in exploit development anywhere except may be in writing shellcodes(encoding, polymorphic)...
I dont know what nelly is(Life; Unmanly, effeminate) ?
..
P.S: Wanted to say this for a long time. Big fan of your long posts sil. I read ALL your previous posts before even joining the forum and one of the reasons I am still trying to contribute to this forum is because of guys like you taking time to write such awesome posts.
Logged
H1t M0nk3y
Hero Member
Offline
Posts: 865
Re: Assembly
«
Reply #12 on:
December 22, 2010, 07:42:49 AM »
I was enjoying a nice coffee this morning in a quiet house reading another "sil novel"
More than the long posts, I enjoy hearing a real expert talking about an interesting subject! I to, try to help others when I can, but I lack the experience sil has!!
Quote
Exploit Development is where bragging rights are... It is also where headaches and gray hair is made.
Sil, what do you mean by "headaches and gray hair is made"? Are you refering to long fuzzing hours before finding something?
Logged
OSCP, GPEN, GWAPT, GSEC, CEH, CISSP
tturner
Sr. Member
Offline
Posts: 432
Re: Assembly
«
Reply #13 on:
December 22, 2010, 10:08:43 AM »
While Assembly skills are highly valuable for malware analysis, don't discount the value of dynamic analysis. Good dynamic analysis requires almost no coding skills. Being able to execute a piece of malware in a sandboxed environment and using tools to analyze the behavior that is occurring on the box is extremely helpful. It won't be enough to write an AV signature, but for most folks doing this kind of work its enough to understand how the malware was delivered, what controls it exploited and how, what actions it took once it infected the machine and the impact to the organization, how it propagates (may not be the same vector as the initial infection - also need to make sure you aren't serving up malware to another organization), how to remove it in a way that does not compromise critical operations, how to prevent it from occurring again as well as determine any additional resources needed for the incident.
This is a huge amount of value that can be derived with very little to no code knowledge. Obviously parsing memory dumps and all kinds of other extremely technical activities can be extremely beneficial here but they aren't necessary to provide a decent analysis in many cases.
Logged
Certifications:
CISSP, CISA, GPEN, GWAPT, GAWN, GCIA, GCIH, GSEC, OPSE, CSWAE, CSTP, VCP
WIP: OSWP, GSSP-JAVA, GXPN
Udacity on hold, again. I suck.
http://sentinel24.com/blog
@tonylturner
http://bsidesorlando.org
satyr
Newbie
Offline
Posts: 41
Re: Assembly
«
Reply #14 on:
December 22, 2010, 12:19:41 PM »
if i was an android taking all this information through a cord at the back of my head ... i guess i would have exploded.
im in awe reading what sil has posted ... all that experience ... hours behind the monitor and industry knowledge shows up in posts like these ... hats off to u
again I thank all the members here who have responded to basic newbie questions ... your modesty is inspirational .. thank you guys ... im sure i will pick up a lot of things from here ..thanks to all of u
Logged
Pages: [
1
]
2
Go Up
Print
« previous
next »
Jump to:
Please select a destination:
-----------------------------
EH-Net
-----------------------------
=> Calendar Of Events
===> ChicagoCon 2007
===> ChicagoCon 2008s
===> ChicagoCon 2008f
===> ChicagoCon 2009s
=> Ethical Hacktivism
=> News Items and General Discussion About EH-Net
===> Greetings
=> Special Events
-----------------------------
Ethical Hacking Discussions and Related Certifications
-----------------------------
=> General Certification
===> Networking
===> OS
===> Security
=> Compliance, Regulations & Standards
=> Control Systems
=> Cyber Warfare
=> Forensics
===> CCE / MCCE - (Master) Certified Computer Examiner
===> CHFI - Computer Hacking Forensic Investigator
===> EnCE - EnCase® Certified Examiner
===> GCFA - GIAC Certified Forensics Analyst
=> Hardware
=> Incident Response
===> CSIH - Computer Security Incident Handler
===> GCIH - GIAC Certified Incident Handler
=> Malware
===> Advisories
=> Mobile
=> Network Pen Testing
===> CEH - Certified Ethical Hacker
===> CPTC - Certified Penetration Testing Consultant
===> CPTE - Certified Penetration Testing Engineer
===> CSTA - Certified Security Testing Associate
===> eCPPT - eLearnSecurity Certified Professional Penetration Tester
===> ECSA - EC-Council Certified Security Analyst
===> GPEN - GIAC Certified Penetration Tester
===> OSCP - Offensive Security Certified Professional
=> Physical Security
=> Programming
=> Social Engineering
=> Web Applications
=> Wireless
===> CWNP Certs
===> GAWN - GIAC Assessing Wireless Networks
===> OSWP - Offensive Security Wireless Professional
=> Other
-----------------------------
Columns
-----------------------------
=> Editor-In-Chief
=> Andress
=> Gates
=> Haddix
=> Hadnagy
=> Heffner
=> Hoffman
=> Linn
=> RichM
=> Murray
=> J. Peltier
=> Weidman
=> Wilson
-----------------------------
Features
-----------------------------
=> /root
=> Book Reviews
=> Opinions
=> Skillz
===> Examples
===> May 06 - Star Hacks, Episode V: The Empire Hacks Back
===> July 06 - Hack Bill!
===> Sept 06 - Netcat in the Hat
===> Nov 06 - Hitch-Hackers Guide to the Galaxy
===> Dec 06 - A Christmas (Hacking) Story
===> Feb 07 - Charlottes Web Site
===> April 07 - Microsoft Office Space
===> June 07 - Serenity Hack
===> Oct 07 - Worst. Ethical. Hacker. Challenge. Ever.
===> Dec 07 - Frosty the Snow Crash
===> March 2008 - It Happened One Friday
===> Oct 2008 - Scooby Doo and the Crypto Caper
===> Dec 08 - Santa Claus Is Hacking to Town
===> Feb 2009 - Brady Bunch Boondoggle
===> July 2009 - Prison Break
===> October 2009 - SSHliders
===> December 2009 - Miracle on Thirty-Hack Street
===> December 2010 - The Nightmare Before Charlie Browns Christmas
-----------------------------
Resources
-----------------------------
=> Career Central
===> Looking For Work
===> Looking To Hire
=> Links to cool sites.
=> Mass Media
=> News from the Outside World
=> Tools
=> Tutorials
===> Tutorial Requests
Loading...
Exclusive Deal
SANSFIRE 2013
June 15 - 22
5% Off
w/ Code
:
EHN_5
SANS Deals 4 EH-Netters
5% OFF
Any
SANS Course
in Any Format!
Coupon Code:
EHN_5
Including
SANS Rocky Mountain 2013
&
SANS Boston 2013
Polls
Compared to this year, 2013 will be:
Great!
Better.
About the same.
Little worse.
FUBAR!
Recent Forum Topics
News Items and General Discussion About EH-Net
: Change is Coming to EH-Net!!
(30) by
don
Tools
: Symbolic Exploit Assistant project is looking for collaborators
(0) by
galapag0
Greetings
: Hi from the UK
(5) by
prats84
GCIH - GIAC Certified Incident Handler
: Passed my GCIH
(9) by
prats84
Network Pen Testing
: Want a challenge? Want a GXPN practice exam?
(0) by
ajohnson
GCIH - GIAC Certified Incident Handler
: GCIH Free Practice test attempt
(1) by
prats84
EH-Net News Feeds
Latest Additions
Privacy Notice
for TDCC & All Properties
© 2013 The Ethical Hacker Network
Joomla!
is Free Software released under the GNU/GPL License.