News

recent

Terms, Definitions, Exploit, Shell, Bof, Ruby

That is a Shell

-Basically and Briefly the term Shell is used to refer to programs that provide a user interface to access the services of the operating system. These may be graphical or simple text as the famous CMD (command Line), depending on the type of interface used. ...


That is metasploit

- The Metasploit Framework, such as your initials MSF is a tool for developing and executing exploits against a remote machine. It was created using the programming language Perl scripting, although, currently, the Metasploit Framework has been rewritten entirely in the Ruby language.

The Metasploit Framework, has several components and utilities among which are:
● Msfcli (Client Metasploit)
● Msfconsole Console (Metasploit)
● Msfweb (Server and web Interface of Metasploit)
● Msfgui (gui for Metasploit)
● Msfopcode (Client of the database of OPCODES of Metasploit)


That is RUBY

- Ruby is a programming language, interpreted, reflective, object-oriented, created by the programmer japanese Yukihiro "Matz" Matsumoto, who started working on Ruby in 1993, and presented publicly in 1995. It combines syntax inspired by Python and Perl with features of object-oriented programming similar to Smalltalk. Also shares functionality with other programming languages such as Lisp, Lua, Dylan, and CLU. Ruby is an interpreted programming language in a single pass, and its implementation is officially distributed under a free software license.




On buffer overflow - Exploits


- C/C++


- Is a programming language very extended, cross-platform, and easy. Is the 
the basis of our operating systems(except things in assembler as routines 
boot) and it is extremely powerful and optimized. Their core files are *.c and 
*.cpp (for C++). It is the language most recommended to learn, the more 
useful.

Assembler (ASM)


- Is the language more "basic" that allows the programmer to interact with the CPU. 
The instructions in ASM are passed to the binary, which is what "understands" the CPU, it is 
i.e., 1s and 0s (although it grouped in hexadecimal strings, for clarity). 
Actually, a compiler ASM the only thing that does is calcularte tags, 
jumps and calls, and "encapsulate" the executable. All the languages of 
programming, at compile time (obviously, scripting languages do not), 
convert your code into instructions ASM.

Instructions in ASM (Intel) are, for example mov, push, pop, etc....(AT&T, 
serious popl, movl, pushl, etc..) Is a programming language hard to 
learn, only for very specific things or that require a great optimization, but 
knowing it will give you many joys :) Any computer should be able to understand 
and master the basic instructions.

Debugger (Debugger)


- A debugger is a program that allows you to go "step by step" instruction to 
statement to another program. The go statement to statement, we can see 
completely that is happening, the registers, memory, etc., as well as many 
more functions very interesting. Its main function is to audit code, and 
to see why it fails (or simply because not doing what you want to do), 
it is an essential tool for any programmer. What happens is that 
can also be used for other things :)

Dissasembler (Desamblador)


- A desamblador is a program that shows you the code of a program, a dll, 
what is this code that the desamblador understand. Normally, you 
displays your code in ASM (for example, a program shoulder to shoulder in C, shows you the 
conversion of such instructions C in ASM), although there are desambladores that 
allow you to view your code (or part of it) of programs written in JAVA or VBasic, by 
example. 

Normally, debugger and dissasembler are in the same program, the most used 
are Ollydbg (which I'm going to use here), Softice, IDA, Win32dasm...

Hex Editor (Hex Editor)


- Do not confuse a dissasembler with a hex editor. The first one shows you the 
code of a program, the hex editor just shows you the content of a 
file, of whatever type, as a dumpeo hexadecimal and/or binary, as well as the 
possibility to modify and save the file. Is used to track and 
to modify files that use programs, both for purposes of "programming" (the 
because when loading the file fails, because it is not written well, etc...) as of 
"hacking" or "cracking".

To me, personally, I like Hackman, but that there are much better :P 
Question of search.

The CPU (microprocessor),


- The CPU is the "heart" of a computer. Is the hardware unit responsible for 
executing the instructions of a program or operating system, instruction 
statement, that they are in a certain area of memory. Help records 
where it stores variables, data, or addresses. A full explanation of the 
theme, would require one or more books, although googling is a lot of 
information.

Logs of the CPU.


- The cpu (microprocessor) contains a series of records, where stores 
variables, data, or addresses of the operations that are taking place in this 
time. The language ASM uses these registers as variables of the 
programs and routines, making it possible for any program (of lengths 
considerable, of course). The most interesting are:

EIP Extended Instruction Pointer.

The log EIP always points to the next memory address that the 
processor must execute. The CPU is based on sequences of instructions, a 
behind the other, unless such instruction requires a jump, a 
call...to occur, for example, a "jump", EIP to point to the value of the jump, 
executing the instructions at the address specified by the jump. If 
we get EIP contains the address of memory that we want to, we can 
control the execution of the program, if you also control what you have in that 
address. 

EAX, EBX... ESI, EDI...

Records are multipurpose for use according to the program, can be used 
any form and to accommodate any direction, variable or value, even though each 
one has "role-specific" according to the instructions in the ASM program:

EAX:
Accumulator register. Any statement, return, store that value in 
EAX. It is also used to add values to other registers in functions-sum, 
etc.... 

EBX

Base register. It is used as a "handler" or "handler" files, address 
from memory (and then adding them to an offset), etc... 

ECX

Registration counter. Is used, for example, in instructions ASM loop as a counter, 
when ECX reaches zero, the loop ends.

EDX

Record address or pointer. Is used to reference memory addresses 
but the offset combined with segment registers (CS, SS, etc..)

ESI and EDI

Records are analogous to EDX, can be used to save addresses 
memory, offsets, etc..

CS, SS, IS and DS

Are segment registers, tend to target a certain section of the memory. It 
often using Register+Offset address to a specific address of 
memory. The most used are CS, which points to the current segment address 
this running EIP, SS, pointing to the stack and DS, which points to the segment 
data current. IT is "multi-purpose", for the same, the reference address of 
memory, and a long etc...

ESP EBP

Extended Stack Pointer and Extended Base Pointer. Both will see more in 
depth when explaining the stack. 
They can handle the stack, as a reference to the "top" (ESP) and the "base" (EBP). 
ESP always contains the address of the start of the stack (the top) that this 
using the program or thread (thread) at that time. Each program will use a 
stack space is different, and each thread of the program also. EBP points to the 
address the end of the stack of that program or thread.

What is a vulnerability?


- A vulnerability is a flaw that compromises the security of the program or 
system. Although it is also associated with "bug" (bug), but it is not the same thing. A 
bug is a failure of any type, since a game does not work well because 
go slow, a program that works poorly when trying to do a division by 0. 
Vulnerabilities are security bugs, which can compromise the system or 
the program, allowing the hacker to execute arbitrary code, stop the 
system or take advantage of the same to get any type of benefit.

What is an exploit?


- An exploit is a code, a method, a program, that performs an action against 
a system or program that has a vulnerability, "exploiting it", and by taking a 
the benefit of the same. This benefit is typically the execution of code 
(within that program, with the privileges of the same) that it benefits us, 
giving us for example a password, or by giving us a command shell, add a 
admin user to the system, or even the only thing they do is stop the 
service or the system, according to our purposes.

One would have to distinguish between exploits that are "complete" (those that are completely 
functional) and the POCs (proof of concept) that are exploits that demonstrate that 
this vulnerability exists and is exploitable, but that does not give any 
benefit or the benefit is minimal. Normally we use these last for 
avoid the use of the same by niñatos (script kiddies) or to avoid worms 
(I guess I remember blaster or sasser, released exploits 
fully functional)

What is a shellcode?


- A shellcode is a basic code in ASM, very short usually, running 
the commands that we want, like system("cmd.exe") (run a shell msdos in 
windows); or execv("/bin/sh") (run a shell (sh on Linux/Unix), or serves 
to add a user to the system account, to download a trojan and 
run it, to keep open a port connected to a shell, etc..... Is the 
code that is running the vulnerable program once you have your control. It is not 
nothing difficult to program knowing ASM and basic as it works your OS.

Once programmed in ASM (for testearla, for example, in addition to that it is more 
easy to program it in ASM directly with opcodes :P), is passed to a string, 
composed by the opcodes (code of operation, in hexadecimal) of such 
instructions ASM. What you will see later :)

What is an overflow?


- An overflow is basically when you took refuge memory space insufficient 
for a variable (allocate), and we introduce more data to that variable 
the that can withstand. The variable "overflows", and the data that does not fit 
overwritten continuous memory to that variable. If we declare a variable that 
you should only support 8bytes, if you move 10bytes, 2 bytes remaining is not 
they lose, but they overwrite the memory adjacent to the variable.

There are different types of overflow, stack overflow (which we will see here, also 
called a buffer overflow, or buffer overflow, etc...), heap overflow (already 
what we will see in some other text, refers to overflow a variable declared in 
the heap instead of the stack...), format string overflow (bugs format of the 
strings of text), integer overflow (due to variable declarations with a 
minimum space or negative that provide us...), etc...

Why it is called Stack Overflow?


- The stack (stack) is a structure of type LIFO, Last In, First Out, last in 
to enter, first to leave. Think of a stack of books, you can only add and 
remove books by the "top" of the stack, where the add. The book of more 
"down", will be the last to come out, when you empty the stack. If you try to remove 
one of the means, it can crumble. 

Well, the OS (both Windows and Linux, as the Unix or Macs) is based on 
a stack to manage local variables of a program, the returns (rets) 
of the function calls (calls), the structures of exceptions (SEH, 
in Windows), arguments, environment variables, etc...

For example, to call a function any, which need two arguments, 
messes first the argument 2 onto the stack in the system, then the argument 1, and 
then the function is called.

If the system wants to do a sum (5+2), first enter the 2nd argument in 
the stack (2), then the 1st argument (the 5), and then calls the sum function. 

Well, a "call" to a function or memory address, is done with the 
instruction ASM Call. Call address (calling address) or call log 
(calls to what is contained in that record). The log EIP collects such direction, 
and the next instruction to run this in this direction, we have "jumped" to 
that direction.

But, before that, the system must know what to do when you finish the function, where 
you should continue running code. 
The program can call the sum function, but with the result, make a 
multiplication, or simply display it on the screen. That is to say, the CPU must 
know where to continue the execution once the sum function.

For that serves the stack :) Just run the call, it SAVES the address of 
the next instruction on the stack. 
This statement is typically referred to as RET or RET ADDRESS, address 
"return" to the main program (or whatever).

Then, the call is executed, it is saved the address, gets the arguments of the 
sum produces the sum and, as this saved the address for where I was going the 
program, TURNS (RETURNS) to the memory address that was stored 
on the stack (ret), that is to say, to the following address of the call.

Greetings, I hope they serve, if you lack any term they tell me
users who are just emiezan I think they will serve :D

Well aca I add more

That is Spoofing

- Well, theoretically, and in a few words is known spoffing to the creation of frames TCP/IP using an IP address distorted; the idea of this attack - at least the idea - is very simple: from your computer, a pirate mimics the identity of another machine on the network to get access to resources of a third system that has established some type of trust, based on the name or the IP address of the host impersonated. And as the rings of confidence based on these characteristics so easily falsificables are still too abundant (we don't have to think of the commands-r, accesses the NFS, or the protection of network services using TCP Wrapper), spoofing remains today an attack is not trivial, but doable against any type of organization.



Because it is known as ARP Spoffing

- Well the ARP Spoofing, also known as ARP Poisoning or ARP Poison Routing, is a technique used to infiltrate a network switched Ethernet (based on switch and not hubs), which may allow an attacker to sniff data packets on the LAN (local area network), modify the traffic, or even stopping the traffic (known as DoS: Denial of Service).

The principle of ARP Spoofing is to send messages that contain fake ARP (forged, or spoofed) to the Ethernet. Usually the purpose is to associate the MAC address of the attacker with the IP address of another node (the node being attacked), such as, for example, the default gateway (gateway). Any traffic directed to the IP address of that node, will be mistakenly sent to the attacker instead of to the actual destination. The attacker can then choose among forward traffic to the default gateway, real (attack, passive, or listening), or modify the data before forwarding them (active attack). The attacker can even launch an attack DoS (Denial of Service) against a victim by associating a MAC address to non-existent with the IP address of the default gateway of the victim.

THE attack of ARP Spoofing can be run from a controlled machine (the attacker has achieved previously made with the control of the same: intrusion), a Jack Box, or the attacker's machine is connected directly to the Ethernet LAN.


That is Xploit

- First of all do not confuse Xploit and Exploit, ok well the definition of Xploit is: basically a fake mail or more commonly called xploit. Send e-mail faking the sender. It is a technique widely used in Social Engineering.

As a way of obtaining passwords of hotmail,yahoo, or any type of company to the e-mail addresses. This technique is considered lammer to the hacker community, or for those who are interested truly in the theme of hacking. and good recommendation that I give I give anyone is that do not give out your password to any website that you pidaa amm in an e-mail, let's say, only in the official sites of hotmail.com,etc
Terms, Definitions, Exploit, Shell, Bof, Ruby Reviewed by Unknown on 2:30:00 AM Rating: 5
All Rights Reserved by TOS © 2014 - 2015
Powered By Blogger, Designed by Sweetheme

Contact Form

Name

Email *

Message *

Powered by Blogger.